/* Created from '/SourceFiles/mtproto/scheme.tl' by '/SourceFiles/mtproto/generate.py' script WARNING! All changes made in this file will be lost! This file is part of Telegram Desktop, an unofficial desktop messaging app, see https://telegram.org Telegram Desktop is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014 John Preston, https://tdesktop.com */ #pragma once #include "mtpCoreTypes.h" // Type id constants enum { mtpc_resPQ = 0x05162463, mtpc_p_q_inner_data = 0x83c95aec, mtpc_server_DH_params_fail = 0x79cb045d, mtpc_server_DH_params_ok = 0xd0e8075c, mtpc_server_DH_inner_data = 0xb5890dba, mtpc_client_DH_inner_data = 0x6643b654, mtpc_dh_gen_ok = 0x3bcbf734, mtpc_dh_gen_retry = 0x46dc1fb9, mtpc_dh_gen_fail = 0xa69dae02, mtpc_req_pq = 0x60469778, mtpc_req_DH_params = 0xd712e4be, mtpc_set_client_DH_params = 0xf5045f1f, mtpc_msgs_ack = 0x62d6b459, mtpc_bad_msg_notification = 0xa7eff811, mtpc_bad_server_salt = 0xedab447b, mtpc_msgs_state_req = 0xda69fb52, mtpc_msgs_state_info = 0x04deb57d, mtpc_msgs_all_info = 0x8cc0d131, mtpc_msg_detailed_info = 0x276d3ec6, mtpc_msg_new_detailed_info = 0x809db6df, mtpc_msg_resend_req = 0x7d861a08, mtpc_rpc_error = 0x2144ca19, mtpc_rpc_answer_unknown = 0x5e2ad36e, mtpc_rpc_answer_dropped_running = 0xcd78e586, mtpc_rpc_answer_dropped = 0xa43ad8b7, mtpc_future_salt = 0x0949d9dc, mtpc_future_salts = 0xae500895, mtpc_pong = 0x347773c5, mtpc_destroy_session_ok = 0xe22045fc, mtpc_destroy_session_none = 0x62d350c9, mtpc_new_session_created = 0x9ec20908, mtpc_http_wait = 0x9299359f, mtpc_rpc_drop_answer = 0x58e4a740, mtpc_get_future_salts = 0xb921bd04, mtpc_ping = 0x7abe77ec, mtpc_ping_delay_disconnect = 0xf3427b8c, mtpc_destroy_session = 0xe7512126, mtpc_register_saveDeveloperInfo = 0x9a5f6e95, mtpc_inputPeerEmpty = 0x7f3b18ea, mtpc_inputPeerSelf = 0x7da07ec9, mtpc_inputPeerContact = 0x1023dbe8, mtpc_inputPeerForeign = 0x9b447325, mtpc_inputPeerChat = 0x179be863, mtpc_inputUserEmpty = 0xb98886cf, mtpc_inputUserSelf = 0xf7c1b13f, mtpc_inputUserContact = 0x86e94f65, mtpc_inputUserForeign = 0x655e74ff, mtpc_inputPhoneContact = 0xf392b7f4, mtpc_inputFile = 0xf52ff27f, mtpc_inputMediaEmpty = 0x9664f57f, mtpc_inputMediaUploadedPhoto = 0x2dc53a7d, mtpc_inputMediaPhoto = 0x8f2ab2ec, mtpc_inputMediaGeoPoint = 0xf9c44144, mtpc_inputMediaContact = 0xa6e45987, mtpc_inputMediaUploadedVideo = 0x133ad6f6, mtpc_inputMediaUploadedThumbVideo = 0x9912dabf, mtpc_inputMediaVideo = 0x7f023ae6, mtpc_inputChatPhotoEmpty = 0x1ca48f57, mtpc_inputChatUploadedPhoto = 0x94254732, mtpc_inputChatPhoto = 0xb2e1bf08, mtpc_inputGeoPointEmpty = 0xe4c123d6, mtpc_inputGeoPoint = 0xf3b7acc9, mtpc_inputPhotoEmpty = 0x1cd7bf0d, mtpc_inputPhoto = 0xfb95c6c4, mtpc_inputVideoEmpty = 0x5508ec75, mtpc_inputVideo = 0xee579652, mtpc_inputFileLocation = 0x14637196, mtpc_inputVideoFileLocation = 0x3d0364ec, mtpc_inputPhotoCropAuto = 0xade6b004, mtpc_inputPhotoCrop = 0xd9915325, mtpc_inputAppEvent = 0x770656a8, mtpc_peerUser = 0x9db1bc6d, mtpc_peerChat = 0xbad0e5bb, mtpc_storage_fileUnknown = 0xaa963b05, mtpc_storage_fileJpeg = 0x7efe0e, mtpc_storage_fileGif = 0xcae1aadf, mtpc_storage_filePng = 0xa4f63c0, mtpc_storage_filePdf = 0xae1e508d, mtpc_storage_fileMp3 = 0x528a0677, mtpc_storage_fileMov = 0x4b09ebbc, mtpc_storage_filePartial = 0x40bc6f52, mtpc_storage_fileMp4 = 0xb3cea0e4, mtpc_storage_fileWebp = 0x1081464c, mtpc_fileLocationUnavailable = 0x7c596b46, mtpc_fileLocation = 0x53d69076, mtpc_userEmpty = 0x200250ba, mtpc_userSelf = 0x720535ec, mtpc_userContact = 0xf2fb8319, mtpc_userRequest = 0x22e8ceb0, mtpc_userForeign = 0x5214c89d, mtpc_userDeleted = 0xb29ad7cc, mtpc_userProfilePhotoEmpty = 0x4f11bae1, mtpc_userProfilePhoto = 0xd559d8c8, mtpc_userStatusEmpty = 0x9d05049, mtpc_userStatusOnline = 0xedb93949, mtpc_userStatusOffline = 0x8c703f, mtpc_chatEmpty = 0x9ba2d800, mtpc_chat = 0x6e9c9bc7, mtpc_chatForbidden = 0xfb0ccc41, mtpc_chatFull = 0x630e61be, mtpc_chatParticipant = 0xc8d7493e, mtpc_chatParticipantsForbidden = 0xfd2bb8a, mtpc_chatParticipants = 0x7841b415, mtpc_chatPhotoEmpty = 0x37c1011c, mtpc_chatPhoto = 0x6153276a, mtpc_messageEmpty = 0x83e5de54, mtpc_message = 0x22eb6aba, mtpc_messageForwarded = 0x5f46804, mtpc_messageService = 0x9f8d60bb, mtpc_messageMediaEmpty = 0x3ded6320, mtpc_messageMediaPhoto = 0xc8c45a2a, mtpc_messageMediaVideo = 0xa2d24290, mtpc_messageMediaGeo = 0x56e0d474, mtpc_messageMediaContact = 0x5e7d2f39, mtpc_messageMediaUnsupported = 0x29632a36, mtpc_messageActionEmpty = 0xb6aef7b0, mtpc_messageActionChatCreate = 0xa6638b9a, mtpc_messageActionChatEditTitle = 0xb5a1ce5a, mtpc_messageActionChatEditPhoto = 0x7fcb13a8, mtpc_messageActionChatDeletePhoto = 0x95e3fbef, mtpc_messageActionChatAddUser = 0x5e3cfc4b, mtpc_messageActionChatDeleteUser = 0xb2ae9b0c, mtpc_dialog = 0xab3a99ac, mtpc_photoEmpty = 0x2331b22d, mtpc_photo = 0x22b56751, mtpc_photoSizeEmpty = 0xe17e23c, mtpc_photoSize = 0x77bfb61b, mtpc_photoCachedSize = 0xe9a734fa, mtpc_videoEmpty = 0xc10658a8, mtpc_video = 0x388fa391, mtpc_geoPointEmpty = 0x1117dd5f, mtpc_geoPoint = 0x2049d70c, mtpc_auth_checkedPhone = 0xe300cc3b, mtpc_auth_sentCode = 0xefed51d9, mtpc_auth_authorization = 0xf6b673a4, mtpc_auth_exportedAuthorization = 0xdf969c2d, mtpc_inputNotifyPeer = 0xb8bc5b0c, mtpc_inputNotifyUsers = 0x193b4417, mtpc_inputNotifyChats = 0x4a95e84e, mtpc_inputNotifyAll = 0xa429b886, mtpc_inputPeerNotifyEventsEmpty = 0xf03064d8, mtpc_inputPeerNotifyEventsAll = 0xe86a2c74, mtpc_inputPeerNotifySettings = 0x46a2ce98, mtpc_peerNotifyEventsEmpty = 0xadd53cb3, mtpc_peerNotifyEventsAll = 0x6d1ded88, mtpc_peerNotifySettingsEmpty = 0x70a68512, mtpc_peerNotifySettings = 0x8d5e11ee, mtpc_wallPaper = 0xccb03657, mtpc_userFull = 0x771095da, mtpc_contact = 0xf911c994, mtpc_importedContact = 0xd0028438, mtpc_contactBlocked = 0x561bc879, mtpc_contactFound = 0xea879f95, mtpc_contactSuggested = 0x3de191a1, mtpc_contactStatus = 0xaa77b873, mtpc_chatLocated = 0x3631cf4c, mtpc_contacts_foreignLinkUnknown = 0x133421f8, mtpc_contacts_foreignLinkRequested = 0xa7801f47, mtpc_contacts_foreignLinkMutual = 0x1bea8ce1, mtpc_contacts_myLinkEmpty = 0xd22a1c60, mtpc_contacts_myLinkRequested = 0x6c69efee, mtpc_contacts_myLinkContact = 0xc240ebd9, mtpc_contacts_link = 0xeccea3f5, mtpc_contacts_contacts = 0x6f8b8cb2, mtpc_contacts_contactsNotModified = 0xb74ba9d2, mtpc_contacts_importedContacts = 0xad524315, mtpc_contacts_blocked = 0x1c138d15, mtpc_contacts_blockedSlice = 0x900802a1, mtpc_contacts_found = 0x566000e, mtpc_contacts_suggested = 0x5649dcc5, mtpc_messages_dialogs = 0x15ba6c40, mtpc_messages_dialogsSlice = 0x71e094f3, mtpc_messages_messages = 0x8c718e87, mtpc_messages_messagesSlice = 0xb446ae3, mtpc_messages_messageEmpty = 0x3f4e0648, mtpc_messages_message = 0xff90c417, mtpc_messages_statedMessages = 0x969478bb, mtpc_messages_statedMessage = 0xd07ae726, mtpc_messages_sentMessage = 0xd1f4d35c, mtpc_messages_chat = 0x40e9002a, mtpc_messages_chats = 0x8150cbd8, mtpc_messages_chatFull = 0xe5d7d19c, mtpc_messages_affectedHistory = 0xb7de36f2, mtpc_inputMessagesFilterEmpty = 0x57e2f66c, mtpc_inputMessagesFilterPhotos = 0x9609a51c, mtpc_inputMessagesFilterVideo = 0x9fc00e65, mtpc_inputMessagesFilterPhotoVideo = 0x56e9f0e4, mtpc_inputMessagesFilterDocument = 0x9eddf188, mtpc_inputMessagesFilterAudio = 0xcfc87522, mtpc_updateNewMessage = 0x13abdb3, mtpc_updateMessageID = 0x4e90bfd6, mtpc_updateReadMessages = 0xc6649e31, mtpc_updateDeleteMessages = 0xa92bfe26, mtpc_updateRestoreMessages = 0xd15de04d, mtpc_updateUserTyping = 0x6baa8508, mtpc_updateChatUserTyping = 0x3c46cfe6, mtpc_updateChatParticipants = 0x7761198, mtpc_updateUserStatus = 0x1bfbd823, mtpc_updateUserName = 0xda22d9ad, mtpc_updateUserPhoto = 0x95313b0c, mtpc_updateContactRegistered = 0x2575bbb9, mtpc_updateContactLink = 0x51a48a9a, mtpc_updateActivation = 0x6f690963, mtpc_updateNewAuthorization = 0x8f06529a, mtpc_updates_state = 0xa56c2a3e, mtpc_updates_differenceEmpty = 0x5d75a138, mtpc_updates_difference = 0xf49ca0, mtpc_updates_differenceSlice = 0xa8fb1981, mtpc_updatesTooLong = 0xe317af7e, mtpc_updateShortMessage = 0xd3f45784, mtpc_updateShortChatMessage = 0x2b2fbd4e, mtpc_updateShort = 0x78d4dec1, mtpc_updatesCombined = 0x725b04c3, mtpc_updates = 0x74ae4240, mtpc_photos_photos = 0x8dca6aa5, mtpc_photos_photosSlice = 0x15051f54, mtpc_photos_photo = 0x20212ca8, mtpc_upload_file = 0x96a18d5, mtpc_dcOption = 0x2ec2a43c, mtpc_config = 0x2e54dd74, mtpc_nearestDc = 0x8e1a1775, mtpc_help_appUpdate = 0x8987f311, mtpc_help_noAppUpdate = 0xc45a6536, mtpc_help_inviteText = 0x18cb9f78, mtpc_messages_statedMessagesLinks = 0x3e74f5c6, mtpc_messages_statedMessageLink = 0xa9af2881, mtpc_messages_sentMessageLink = 0xe9db4a3f, mtpc_inputGeoChat = 0x74d456fa, mtpc_inputNotifyGeoChatPeer = 0x4d8ddec8, mtpc_geoChat = 0x75eaea5a, mtpc_geoChatMessageEmpty = 0x60311a9b, mtpc_geoChatMessage = 0x4505f8e1, mtpc_geoChatMessageService = 0xd34fa24e, mtpc_geochats_statedMessage = 0x17b1578b, mtpc_geochats_located = 0x48feb267, mtpc_geochats_messages = 0xd1526db1, mtpc_geochats_messagesSlice = 0xbc5863e8, mtpc_messageActionGeoChatCreate = 0x6f038ebc, mtpc_messageActionGeoChatCheckin = 0xc7d53de, mtpc_updateNewGeoChatMessage = 0x5a68e3f7, mtpc_wallPaperSolid = 0x63117f24, mtpc_updateNewEncryptedMessage = 0x12bcbd9a, mtpc_updateEncryptedChatTyping = 0x1710f156, mtpc_updateEncryption = 0xb4a2e88d, mtpc_updateEncryptedMessagesRead = 0x38fe25b7, mtpc_encryptedChatEmpty = 0xab7ec0a0, mtpc_encryptedChatWaiting = 0x3bf703dc, mtpc_encryptedChatRequested = 0xc878527e, mtpc_encryptedChat = 0xfa56ce36, mtpc_encryptedChatDiscarded = 0x13d6dd27, mtpc_inputEncryptedChat = 0xf141b5e1, mtpc_encryptedFileEmpty = 0xc21f497e, mtpc_encryptedFile = 0x4a70994c, mtpc_inputEncryptedFileEmpty = 0x1837c364, mtpc_inputEncryptedFileUploaded = 0x64bd0306, mtpc_inputEncryptedFile = 0x5a17b5e5, mtpc_inputEncryptedFileLocation = 0xf5235d55, mtpc_encryptedMessage = 0xed18c118, mtpc_encryptedMessageService = 0x23734b06, mtpc_decryptedMessageLayer = 0x99a438cf, mtpc_decryptedMessage = 0x1f814f1f, mtpc_decryptedMessageService = 0xaa48327d, mtpc_decryptedMessageMediaEmpty = 0x89f5c4a, mtpc_decryptedMessageMediaPhoto = 0x32798a8c, mtpc_decryptedMessageMediaVideo = 0x524a415d, mtpc_decryptedMessageMediaGeoPoint = 0x35480a59, mtpc_decryptedMessageMediaContact = 0x588a0a97, mtpc_decryptedMessageActionSetMessageTTL = 0xa1733aec, mtpc_messages_dhConfigNotModified = 0xc0e24635, mtpc_messages_dhConfig = 0x2c221edd, mtpc_messages_sentEncryptedMessage = 0x560f8935, mtpc_messages_sentEncryptedFile = 0x9493ff32, mtpc_inputFileBig = 0xfa4f0bb5, mtpc_inputEncryptedFileBigUploaded = 0x2dc173c8, mtpc_updateChatParticipantAdd = 0x3a0eeb22, mtpc_updateChatParticipantDelete = 0x6e5f8c22, mtpc_updateDcOptions = 0x8e5e9873, mtpc_inputMediaUploadedAudio = 0x4e498cab, mtpc_inputMediaAudio = 0x89938781, mtpc_inputMediaUploadedDocument = 0x34e794bd, mtpc_inputMediaUploadedThumbDocument = 0x3e46de5d, mtpc_inputMediaDocument = 0xd184e841, mtpc_messageMediaDocument = 0x2fda2204, mtpc_messageMediaAudio = 0xc6b68300, mtpc_inputAudioEmpty = 0xd95adc84, mtpc_inputAudio = 0x77d440ff, mtpc_inputDocumentEmpty = 0x72f0eaae, mtpc_inputDocument = 0x18798952, mtpc_inputAudioFileLocation = 0x74dc404d, mtpc_inputDocumentFileLocation = 0x4e45abe9, mtpc_decryptedMessageMediaDocument = 0xb095434b, mtpc_decryptedMessageMediaAudio = 0x57e0a9cb, mtpc_audioEmpty = 0x586988d8, mtpc_audio = 0xc7ac6496, mtpc_documentEmpty = 0x36f8c871, mtpc_document = 0x9efc6326, mtpc_help_support = 0x17c6b5f6, mtpc_decryptedMessageActionReadMessages = 0xc4f40be, mtpc_decryptedMessageActionDeleteMessages = 0x65614304, mtpc_decryptedMessageActionScreenshotMessages = 0x8ac1f475, mtpc_decryptedMessageActionFlushHistory = 0x6719e45c, mtpc_decryptedMessageActionNotifyLayer = 0xf3048883, mtpc_notifyPeer = 0x9fd40bd8, mtpc_notifyUsers = 0xb4c83b4c, mtpc_notifyChats = 0xc007cec3, mtpc_notifyAll = 0x74d07c60, mtpc_updateUserBlocked = 0x80ece81a, mtpc_updateNotifySettings = 0xbec268ef, mtpc_invokeAfterMsg = 0xcb9f372d, mtpc_invokeAfterMsgs = 0x3dc4b4f0, mtpc_auth_checkPhone = 0x6fe51dfb, mtpc_auth_sendCode = 0x768d5f4d, mtpc_auth_sendCall = 0x3c51564, mtpc_auth_signUp = 0x1b067634, mtpc_auth_signIn = 0xbcd51581, mtpc_auth_logOut = 0x5717da40, mtpc_auth_resetAuthorizations = 0x9fab0d1a, mtpc_auth_sendInvites = 0x771c1d97, mtpc_auth_exportAuthorization = 0xe5bfffcd, mtpc_auth_importAuthorization = 0xe3ef9613, mtpc_account_registerDevice = 0x446c712c, mtpc_account_unregisterDevice = 0x65c55b40, mtpc_account_updateNotifySettings = 0x84be5b93, mtpc_account_getNotifySettings = 0x12b3ad31, mtpc_account_resetNotifySettings = 0xdb7e1747, mtpc_account_updateProfile = 0xf0888d68, mtpc_account_updateStatus = 0x6628562c, mtpc_account_getWallPapers = 0xc04cfac2, mtpc_users_getUsers = 0xd91a548, mtpc_users_getFullUser = 0xca30a5b1, mtpc_contacts_getStatuses = 0xc4a353ee, mtpc_contacts_getContacts = 0x22c6aa08, mtpc_contacts_importContacts = 0xda30b32d, mtpc_contacts_search = 0x11f812d8, mtpc_contacts_getSuggested = 0xcd773428, mtpc_contacts_deleteContact = 0x8e953744, mtpc_contacts_deleteContacts = 0x59ab389e, mtpc_contacts_block = 0x332b49fc, mtpc_contacts_unblock = 0xe54100bd, mtpc_contacts_getBlocked = 0xf57c350f, mtpc_messages_getMessages = 0x4222fa74, mtpc_messages_getDialogs = 0xeccf1df6, mtpc_messages_getHistory = 0x92a1df2f, mtpc_messages_search = 0x7e9f2ab, mtpc_messages_readHistory = 0xb04f2510, mtpc_messages_deleteHistory = 0xf4f8fb61, mtpc_messages_deleteMessages = 0x14f2dd0a, mtpc_messages_restoreMessages = 0x395f9d7e, mtpc_messages_receivedMessages = 0x28abcb68, mtpc_messages_setTyping = 0x719839e9, mtpc_messages_sendMessage = 0x4cde0aab, mtpc_messages_sendMedia = 0xa3c85d76, mtpc_messages_forwardMessages = 0x514cd10f, mtpc_messages_getChats = 0x3c6aa187, mtpc_messages_getFullChat = 0x3b831c66, mtpc_messages_editChatTitle = 0xb4bc68b5, mtpc_messages_editChatPhoto = 0xd881821d, mtpc_messages_addChatUser = 0x2ee9ee9e, mtpc_messages_deleteChatUser = 0xc3c5cd23, mtpc_messages_createChat = 0x419d9aee, mtpc_updates_getState = 0xedd4882a, mtpc_updates_getDifference = 0xa041495, mtpc_photos_updateProfilePhoto = 0xeef579a0, mtpc_photos_uploadProfilePhoto = 0xd50f9c88, mtpc_upload_saveFilePart = 0xb304a621, mtpc_upload_getFile = 0xe3a6cfb5, mtpc_help_getConfig = 0xc4f9186b, mtpc_help_getNearestDc = 0x1fb33026, mtpc_help_getAppUpdate = 0xc812ac7e, mtpc_help_saveAppLog = 0x6f02f748, mtpc_help_getInviteText = 0xa4a95186, mtpc_photos_getUserPhotos = 0xb7ee553c, mtpc_messages_forwardMessage = 0x3f3f4f2, mtpc_messages_sendBroadcast = 0x41bb0972, mtpc_geochats_getLocated = 0x7f192d8f, mtpc_geochats_getRecents = 0xe1427e6f, mtpc_geochats_checkin = 0x55b3e8fb, mtpc_geochats_getFullChat = 0x6722dd6f, mtpc_geochats_editChatTitle = 0x4c8e2273, mtpc_geochats_editChatPhoto = 0x35d81a95, mtpc_geochats_search = 0xcfcdc44d, mtpc_geochats_getHistory = 0xb53f7a68, mtpc_geochats_setTyping = 0x8b8a729, mtpc_geochats_sendMessage = 0x61b0044, mtpc_geochats_sendMedia = 0xb8f0deff, mtpc_geochats_createGeoChat = 0xe092e16, mtpc_messages_getDhConfig = 0x26cf8950, mtpc_messages_requestEncryption = 0xf64daf43, mtpc_messages_acceptEncryption = 0x3dbc0415, mtpc_messages_discardEncryption = 0xedd923c5, mtpc_messages_setEncryptedTyping = 0x791451ed, mtpc_messages_readEncryptedHistory = 0x7f4b690a, mtpc_messages_sendEncrypted = 0xa9776773, mtpc_messages_sendEncryptedFile = 0x9a901b66, mtpc_messages_sendEncryptedService = 0x32d439a4, mtpc_messages_receivedQueue = 0x55a5bb66, mtpc_upload_saveBigFilePart = 0xde7b673d, mtpc_initConnection = 0x69796de9, mtpc_help_getSupport = 0x9cdf08cd }; // Type forward declarations class MTPresPQ; class MTPDresPQ; class MTPp_Q_inner_data; class MTPDp_q_inner_data; class MTPserver_DH_Params; class MTPDserver_DH_params_fail; class MTPDserver_DH_params_ok; class MTPserver_DH_inner_data; class MTPDserver_DH_inner_data; class MTPclient_DH_Inner_Data; class MTPDclient_DH_inner_data; class MTPset_client_DH_params_answer; class MTPDdh_gen_ok; class MTPDdh_gen_retry; class MTPDdh_gen_fail; class MTPmsgsAck; class MTPDmsgs_ack; class MTPbadMsgNotification; class MTPDbad_msg_notification; class MTPDbad_server_salt; class MTPmsgsStateReq; class MTPDmsgs_state_req; class MTPmsgsStateInfo; class MTPDmsgs_state_info; class MTPmsgsAllInfo; class MTPDmsgs_all_info; class MTPmsgDetailedInfo; class MTPDmsg_detailed_info; class MTPDmsg_new_detailed_info; class MTPmsgResendReq; class MTPDmsg_resend_req; class MTPrpcError; class MTPDrpc_error; class MTPrpcDropAnswer; class MTPDrpc_answer_dropped; class MTPfutureSalt; class MTPDfuture_salt; class MTPfutureSalts; class MTPDfuture_salts; class MTPpong; class MTPDpong; class MTPdestroySessionRes; class MTPDdestroy_session_ok; class MTPDdestroy_session_none; class MTPnewSession; class MTPDnew_session_created; class MTPhttpWait; class MTPDhttp_wait; class MTPinputPeer; class MTPDinputPeerContact; class MTPDinputPeerForeign; class MTPDinputPeerChat; class MTPinputUser; class MTPDinputUserContact; class MTPDinputUserForeign; class MTPinputContact; class MTPDinputPhoneContact; class MTPinputFile; class MTPDinputFile; class MTPDinputFileBig; class MTPinputMedia; class MTPDinputMediaUploadedPhoto; class MTPDinputMediaPhoto; class MTPDinputMediaGeoPoint; class MTPDinputMediaContact; class MTPDinputMediaUploadedVideo; class MTPDinputMediaUploadedThumbVideo; class MTPDinputMediaVideo; class MTPDinputMediaUploadedAudio; class MTPDinputMediaAudio; class MTPDinputMediaUploadedDocument; class MTPDinputMediaUploadedThumbDocument; class MTPDinputMediaDocument; class MTPinputChatPhoto; class MTPDinputChatUploadedPhoto; class MTPDinputChatPhoto; class MTPinputGeoPoint; class MTPDinputGeoPoint; class MTPinputPhoto; class MTPDinputPhoto; class MTPinputVideo; class MTPDinputVideo; class MTPinputFileLocation; class MTPDinputFileLocation; class MTPDinputVideoFileLocation; class MTPDinputEncryptedFileLocation; class MTPDinputAudioFileLocation; class MTPDinputDocumentFileLocation; class MTPinputPhotoCrop; class MTPDinputPhotoCrop; class MTPinputAppEvent; class MTPDinputAppEvent; class MTPpeer; class MTPDpeerUser; class MTPDpeerChat; class MTPstorage_fileType; class MTPfileLocation; class MTPDfileLocationUnavailable; class MTPDfileLocation; class MTPuser; class MTPDuserEmpty; class MTPDuserSelf; class MTPDuserContact; class MTPDuserRequest; class MTPDuserForeign; class MTPDuserDeleted; class MTPuserProfilePhoto; class MTPDuserProfilePhoto; class MTPuserStatus; class MTPDuserStatusOnline; class MTPDuserStatusOffline; class MTPchat; class MTPDchatEmpty; class MTPDchat; class MTPDchatForbidden; class MTPDgeoChat; class MTPchatFull; class MTPDchatFull; class MTPchatParticipant; class MTPDchatParticipant; class MTPchatParticipants; class MTPDchatParticipantsForbidden; class MTPDchatParticipants; class MTPchatPhoto; class MTPDchatPhoto; class MTPmessage; class MTPDmessageEmpty; class MTPDmessage; class MTPDmessageForwarded; class MTPDmessageService; class MTPmessageMedia; class MTPDmessageMediaPhoto; class MTPDmessageMediaVideo; class MTPDmessageMediaGeo; class MTPDmessageMediaContact; class MTPDmessageMediaUnsupported; class MTPDmessageMediaDocument; class MTPDmessageMediaAudio; class MTPmessageAction; class MTPDmessageActionChatCreate; class MTPDmessageActionChatEditTitle; class MTPDmessageActionChatEditPhoto; class MTPDmessageActionChatAddUser; class MTPDmessageActionChatDeleteUser; class MTPDmessageActionGeoChatCreate; class MTPdialog; class MTPDdialog; class MTPphoto; class MTPDphotoEmpty; class MTPDphoto; class MTPphotoSize; class MTPDphotoSizeEmpty; class MTPDphotoSize; class MTPDphotoCachedSize; class MTPvideo; class MTPDvideoEmpty; class MTPDvideo; class MTPgeoPoint; class MTPDgeoPoint; class MTPauth_checkedPhone; class MTPDauth_checkedPhone; class MTPauth_sentCode; class MTPDauth_sentCode; class MTPauth_authorization; class MTPDauth_authorization; class MTPauth_exportedAuthorization; class MTPDauth_exportedAuthorization; class MTPinputNotifyPeer; class MTPDinputNotifyPeer; class MTPDinputNotifyGeoChatPeer; class MTPinputPeerNotifyEvents; class MTPinputPeerNotifySettings; class MTPDinputPeerNotifySettings; class MTPpeerNotifyEvents; class MTPpeerNotifySettings; class MTPDpeerNotifySettings; class MTPwallPaper; class MTPDwallPaper; class MTPDwallPaperSolid; class MTPuserFull; class MTPDuserFull; class MTPcontact; class MTPDcontact; class MTPimportedContact; class MTPDimportedContact; class MTPcontactBlocked; class MTPDcontactBlocked; class MTPcontactFound; class MTPDcontactFound; class MTPcontactSuggested; class MTPDcontactSuggested; class MTPcontactStatus; class MTPDcontactStatus; class MTPchatLocated; class MTPDchatLocated; class MTPcontacts_foreignLink; class MTPDcontacts_foreignLinkRequested; class MTPcontacts_myLink; class MTPDcontacts_myLinkRequested; class MTPcontacts_link; class MTPDcontacts_link; class MTPcontacts_contacts; class MTPDcontacts_contacts; class MTPcontacts_importedContacts; class MTPDcontacts_importedContacts; class MTPcontacts_blocked; class MTPDcontacts_blocked; class MTPDcontacts_blockedSlice; class MTPcontacts_found; class MTPDcontacts_found; class MTPcontacts_suggested; class MTPDcontacts_suggested; class MTPmessages_dialogs; class MTPDmessages_dialogs; class MTPDmessages_dialogsSlice; class MTPmessages_messages; class MTPDmessages_messages; class MTPDmessages_messagesSlice; class MTPmessages_message; class MTPDmessages_message; class MTPmessages_statedMessages; class MTPDmessages_statedMessages; class MTPDmessages_statedMessagesLinks; class MTPmessages_statedMessage; class MTPDmessages_statedMessage; class MTPDmessages_statedMessageLink; class MTPmessages_sentMessage; class MTPDmessages_sentMessage; class MTPDmessages_sentMessageLink; class MTPmessages_chat; class MTPDmessages_chat; class MTPmessages_chats; class MTPDmessages_chats; class MTPmessages_chatFull; class MTPDmessages_chatFull; class MTPmessages_affectedHistory; class MTPDmessages_affectedHistory; class MTPmessagesFilter; class MTPupdate; class MTPDupdateNewMessage; class MTPDupdateMessageID; class MTPDupdateReadMessages; class MTPDupdateDeleteMessages; class MTPDupdateRestoreMessages; class MTPDupdateUserTyping; class MTPDupdateChatUserTyping; class MTPDupdateChatParticipants; class MTPDupdateUserStatus; class MTPDupdateUserName; class MTPDupdateUserPhoto; class MTPDupdateContactRegistered; class MTPDupdateContactLink; class MTPDupdateActivation; class MTPDupdateNewAuthorization; class MTPDupdateNewGeoChatMessage; class MTPDupdateNewEncryptedMessage; class MTPDupdateEncryptedChatTyping; class MTPDupdateEncryption; class MTPDupdateEncryptedMessagesRead; class MTPDupdateChatParticipantAdd; class MTPDupdateChatParticipantDelete; class MTPDupdateDcOptions; class MTPDupdateUserBlocked; class MTPDupdateNotifySettings; class MTPupdates_state; class MTPDupdates_state; class MTPupdates_difference; class MTPDupdates_differenceEmpty; class MTPDupdates_difference; class MTPDupdates_differenceSlice; class MTPupdates; class MTPDupdateShortMessage; class MTPDupdateShortChatMessage; class MTPDupdateShort; class MTPDupdatesCombined; class MTPDupdates; class MTPphotos_photos; class MTPDphotos_photos; class MTPDphotos_photosSlice; class MTPphotos_photo; class MTPDphotos_photo; class MTPupload_file; class MTPDupload_file; class MTPdcOption; class MTPDdcOption; class MTPconfig; class MTPDconfig; class MTPnearestDc; class MTPDnearestDc; class MTPhelp_appUpdate; class MTPDhelp_appUpdate; class MTPhelp_inviteText; class MTPDhelp_inviteText; class MTPinputGeoChat; class MTPDinputGeoChat; class MTPgeoChatMessage; class MTPDgeoChatMessageEmpty; class MTPDgeoChatMessage; class MTPDgeoChatMessageService; class MTPgeochats_statedMessage; class MTPDgeochats_statedMessage; class MTPgeochats_located; class MTPDgeochats_located; class MTPgeochats_messages; class MTPDgeochats_messages; class MTPDgeochats_messagesSlice; class MTPencryptedChat; class MTPDencryptedChatEmpty; class MTPDencryptedChatWaiting; class MTPDencryptedChatRequested; class MTPDencryptedChat; class MTPDencryptedChatDiscarded; class MTPinputEncryptedChat; class MTPDinputEncryptedChat; class MTPencryptedFile; class MTPDencryptedFile; class MTPinputEncryptedFile; class MTPDinputEncryptedFileUploaded; class MTPDinputEncryptedFile; class MTPDinputEncryptedFileBigUploaded; class MTPencryptedMessage; class MTPDencryptedMessage; class MTPDencryptedMessageService; class MTPdecryptedMessageLayer; class MTPDdecryptedMessageLayer; class MTPdecryptedMessage; class MTPDdecryptedMessage; class MTPDdecryptedMessageService; class MTPdecryptedMessageMedia; class MTPDdecryptedMessageMediaPhoto; class MTPDdecryptedMessageMediaVideo; class MTPDdecryptedMessageMediaGeoPoint; class MTPDdecryptedMessageMediaContact; class MTPDdecryptedMessageMediaDocument; class MTPDdecryptedMessageMediaAudio; class MTPdecryptedMessageAction; class MTPDdecryptedMessageActionSetMessageTTL; class MTPDdecryptedMessageActionReadMessages; class MTPDdecryptedMessageActionDeleteMessages; class MTPDdecryptedMessageActionScreenshotMessages; class MTPDdecryptedMessageActionNotifyLayer; class MTPmessages_dhConfig; class MTPDmessages_dhConfigNotModified; class MTPDmessages_dhConfig; class MTPmessages_sentEncryptedMessage; class MTPDmessages_sentEncryptedMessage; class MTPDmessages_sentEncryptedFile; class MTPinputAudio; class MTPDinputAudio; class MTPinputDocument; class MTPDinputDocument; class MTPaudio; class MTPDaudioEmpty; class MTPDaudio; class MTPdocument; class MTPDdocumentEmpty; class MTPDdocument; class MTPhelp_support; class MTPDhelp_support; class MTPnotifyPeer; class MTPDnotifyPeer; // Boxed types definitions typedef MTPBoxed MTPResPQ; typedef MTPBoxed MTPP_Q_inner_data; typedef MTPBoxed MTPServer_DH_Params; typedef MTPBoxed MTPServer_DH_inner_data; typedef MTPBoxed MTPClient_DH_Inner_Data; typedef MTPBoxed MTPSet_client_DH_params_answer; typedef MTPBoxed MTPMsgsAck; typedef MTPBoxed MTPBadMsgNotification; typedef MTPBoxed MTPMsgsStateReq; typedef MTPBoxed MTPMsgsStateInfo; typedef MTPBoxed MTPMsgsAllInfo; typedef MTPBoxed MTPMsgDetailedInfo; typedef MTPBoxed MTPMsgResendReq; typedef MTPBoxed MTPRpcError; typedef MTPBoxed MTPRpcDropAnswer; typedef MTPBoxed MTPFutureSalt; typedef MTPBoxed MTPFutureSalts; typedef MTPBoxed MTPPong; typedef MTPBoxed MTPDestroySessionRes; typedef MTPBoxed MTPNewSession; typedef MTPBoxed MTPHttpWait; typedef MTPBoxed MTPInputPeer; typedef MTPBoxed MTPInputUser; typedef MTPBoxed MTPInputContact; typedef MTPBoxed MTPInputFile; typedef MTPBoxed MTPInputMedia; typedef MTPBoxed MTPInputChatPhoto; typedef MTPBoxed MTPInputGeoPoint; typedef MTPBoxed MTPInputPhoto; typedef MTPBoxed MTPInputVideo; typedef MTPBoxed MTPInputFileLocation; typedef MTPBoxed MTPInputPhotoCrop; typedef MTPBoxed MTPInputAppEvent; typedef MTPBoxed MTPPeer; typedef MTPBoxed MTPstorage_FileType; typedef MTPBoxed MTPFileLocation; typedef MTPBoxed MTPUser; typedef MTPBoxed MTPUserProfilePhoto; typedef MTPBoxed MTPUserStatus; typedef MTPBoxed MTPChat; typedef MTPBoxed MTPChatFull; typedef MTPBoxed MTPChatParticipant; typedef MTPBoxed MTPChatParticipants; typedef MTPBoxed MTPChatPhoto; typedef MTPBoxed MTPMessage; typedef MTPBoxed MTPMessageMedia; typedef MTPBoxed MTPMessageAction; typedef MTPBoxed MTPDialog; typedef MTPBoxed MTPPhoto; typedef MTPBoxed MTPPhotoSize; typedef MTPBoxed MTPVideo; typedef MTPBoxed MTPGeoPoint; typedef MTPBoxed MTPauth_CheckedPhone; typedef MTPBoxed MTPauth_SentCode; typedef MTPBoxed MTPauth_Authorization; typedef MTPBoxed MTPauth_ExportedAuthorization; typedef MTPBoxed MTPInputNotifyPeer; typedef MTPBoxed MTPInputPeerNotifyEvents; typedef MTPBoxed MTPInputPeerNotifySettings; typedef MTPBoxed MTPPeerNotifyEvents; typedef MTPBoxed MTPPeerNotifySettings; typedef MTPBoxed MTPWallPaper; typedef MTPBoxed MTPUserFull; typedef MTPBoxed MTPContact; typedef MTPBoxed MTPImportedContact; typedef MTPBoxed MTPContactBlocked; typedef MTPBoxed MTPContactFound; typedef MTPBoxed MTPContactSuggested; typedef MTPBoxed MTPContactStatus; typedef MTPBoxed MTPChatLocated; typedef MTPBoxed MTPcontacts_ForeignLink; typedef MTPBoxed MTPcontacts_MyLink; typedef MTPBoxed MTPcontacts_Link; typedef MTPBoxed MTPcontacts_Contacts; typedef MTPBoxed MTPcontacts_ImportedContacts; typedef MTPBoxed MTPcontacts_Blocked; typedef MTPBoxed MTPcontacts_Found; typedef MTPBoxed MTPcontacts_Suggested; typedef MTPBoxed MTPmessages_Dialogs; typedef MTPBoxed MTPmessages_Messages; typedef MTPBoxed MTPmessages_Message; typedef MTPBoxed MTPmessages_StatedMessages; typedef MTPBoxed MTPmessages_StatedMessage; typedef MTPBoxed MTPmessages_SentMessage; typedef MTPBoxed MTPmessages_Chat; typedef MTPBoxed MTPmessages_Chats; typedef MTPBoxed MTPmessages_ChatFull; typedef MTPBoxed MTPmessages_AffectedHistory; typedef MTPBoxed MTPMessagesFilter; typedef MTPBoxed MTPUpdate; typedef MTPBoxed MTPupdates_State; typedef MTPBoxed MTPupdates_Difference; typedef MTPBoxed MTPUpdates; typedef MTPBoxed MTPphotos_Photos; typedef MTPBoxed MTPphotos_Photo; typedef MTPBoxed MTPupload_File; typedef MTPBoxed MTPDcOption; typedef MTPBoxed MTPConfig; typedef MTPBoxed MTPNearestDc; typedef MTPBoxed MTPhelp_AppUpdate; typedef MTPBoxed MTPhelp_InviteText; typedef MTPBoxed MTPInputGeoChat; typedef MTPBoxed MTPGeoChatMessage; typedef MTPBoxed MTPgeochats_StatedMessage; typedef MTPBoxed MTPgeochats_Located; typedef MTPBoxed MTPgeochats_Messages; typedef MTPBoxed MTPEncryptedChat; typedef MTPBoxed MTPInputEncryptedChat; typedef MTPBoxed MTPEncryptedFile; typedef MTPBoxed MTPInputEncryptedFile; typedef MTPBoxed MTPEncryptedMessage; typedef MTPBoxed MTPDecryptedMessageLayer; typedef MTPBoxed MTPDecryptedMessage; typedef MTPBoxed MTPDecryptedMessageMedia; typedef MTPBoxed MTPDecryptedMessageAction; typedef MTPBoxed MTPmessages_DhConfig; typedef MTPBoxed MTPmessages_SentEncryptedMessage; typedef MTPBoxed MTPInputAudio; typedef MTPBoxed MTPInputDocument; typedef MTPBoxed MTPAudio; typedef MTPBoxed MTPDocument; typedef MTPBoxed MTPhelp_Support; typedef MTPBoxed MTPNotifyPeer; // Type classes definitions class MTPresPQ : private mtpDataOwner { public: MTPresPQ(); MTPresPQ(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_resPQ) : mtpDataOwner(0) { read(from, end, cons); } MTPDresPQ &_resPQ() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDresPQ*)data; } const MTPDresPQ &c_resPQ() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDresPQ*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_resPQ); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPresPQ(MTPDresPQ *_data); friend MTPresPQ MTP_resPQ(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_pq, const MTPVector &_server_public_key_fingerprints); }; typedef MTPBoxed MTPResPQ; class MTPp_Q_inner_data : private mtpDataOwner { public: MTPp_Q_inner_data(); MTPp_Q_inner_data(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_p_q_inner_data) : mtpDataOwner(0) { read(from, end, cons); } MTPDp_q_inner_data &_p_q_inner_data() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDp_q_inner_data*)data; } const MTPDp_q_inner_data &c_p_q_inner_data() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDp_q_inner_data*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_p_q_inner_data); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPp_Q_inner_data(MTPDp_q_inner_data *_data); friend MTPp_Q_inner_data MTP_p_q_inner_data(const MTPstring &_pq, const MTPstring &_p, const MTPstring &_q, const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint256 &_new_nonce); }; typedef MTPBoxed MTPP_Q_inner_data; class MTPserver_DH_Params : private mtpDataOwner { public: MTPserver_DH_Params() : mtpDataOwner(0), _type(0) { } MTPserver_DH_Params(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDserver_DH_params_fail &_server_DH_params_fail() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_server_DH_params_fail) throw mtpErrorWrongTypeId(_type, mtpc_server_DH_params_fail); split(); return *(MTPDserver_DH_params_fail*)data; } const MTPDserver_DH_params_fail &c_server_DH_params_fail() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_server_DH_params_fail) throw mtpErrorWrongTypeId(_type, mtpc_server_DH_params_fail); return *(const MTPDserver_DH_params_fail*)data; } MTPDserver_DH_params_ok &_server_DH_params_ok() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_server_DH_params_ok) throw mtpErrorWrongTypeId(_type, mtpc_server_DH_params_ok); split(); return *(MTPDserver_DH_params_ok*)data; } const MTPDserver_DH_params_ok &c_server_DH_params_ok() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_server_DH_params_ok) throw mtpErrorWrongTypeId(_type, mtpc_server_DH_params_ok); return *(const MTPDserver_DH_params_ok*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPserver_DH_Params(mtpTypeId type); explicit MTPserver_DH_Params(MTPDserver_DH_params_fail *_data); explicit MTPserver_DH_Params(MTPDserver_DH_params_ok *_data); friend MTPserver_DH_Params MTP_server_DH_params_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash); friend MTPserver_DH_Params MTP_server_DH_params_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_encrypted_answer); mtpTypeId _type; }; typedef MTPBoxed MTPServer_DH_Params; class MTPserver_DH_inner_data : private mtpDataOwner { public: MTPserver_DH_inner_data(); MTPserver_DH_inner_data(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_server_DH_inner_data) : mtpDataOwner(0) { read(from, end, cons); } MTPDserver_DH_inner_data &_server_DH_inner_data() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDserver_DH_inner_data*)data; } const MTPDserver_DH_inner_data &c_server_DH_inner_data() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDserver_DH_inner_data*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_server_DH_inner_data); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPserver_DH_inner_data(MTPDserver_DH_inner_data *_data); friend MTPserver_DH_inner_data MTP_server_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, MTPint _g, const MTPstring &_dh_prime, const MTPstring &_g_a, MTPint _server_time); }; typedef MTPBoxed MTPServer_DH_inner_data; class MTPclient_DH_Inner_Data : private mtpDataOwner { public: MTPclient_DH_Inner_Data(); MTPclient_DH_Inner_Data(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_client_DH_inner_data) : mtpDataOwner(0) { read(from, end, cons); } MTPDclient_DH_inner_data &_client_DH_inner_data() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDclient_DH_inner_data*)data; } const MTPDclient_DH_inner_data &c_client_DH_inner_data() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDclient_DH_inner_data*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_client_DH_inner_data); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPclient_DH_Inner_Data(MTPDclient_DH_inner_data *_data); friend MTPclient_DH_Inner_Data MTP_client_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPlong &_retry_id, const MTPstring &_g_b); }; typedef MTPBoxed MTPClient_DH_Inner_Data; class MTPset_client_DH_params_answer : private mtpDataOwner { public: MTPset_client_DH_params_answer() : mtpDataOwner(0), _type(0) { } MTPset_client_DH_params_answer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdh_gen_ok &_dh_gen_ok() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_ok) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_ok); split(); return *(MTPDdh_gen_ok*)data; } const MTPDdh_gen_ok &c_dh_gen_ok() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_ok) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_ok); return *(const MTPDdh_gen_ok*)data; } MTPDdh_gen_retry &_dh_gen_retry() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_retry) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_retry); split(); return *(MTPDdh_gen_retry*)data; } const MTPDdh_gen_retry &c_dh_gen_retry() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_retry) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_retry); return *(const MTPDdh_gen_retry*)data; } MTPDdh_gen_fail &_dh_gen_fail() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_fail) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_fail); split(); return *(MTPDdh_gen_fail*)data; } const MTPDdh_gen_fail &c_dh_gen_fail() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_dh_gen_fail) throw mtpErrorWrongTypeId(_type, mtpc_dh_gen_fail); return *(const MTPDdh_gen_fail*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPset_client_DH_params_answer(mtpTypeId type); explicit MTPset_client_DH_params_answer(MTPDdh_gen_ok *_data); explicit MTPset_client_DH_params_answer(MTPDdh_gen_retry *_data); explicit MTPset_client_DH_params_answer(MTPDdh_gen_fail *_data); friend MTPset_client_DH_params_answer MTP_dh_gen_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash1); friend MTPset_client_DH_params_answer MTP_dh_gen_retry(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash2); friend MTPset_client_DH_params_answer MTP_dh_gen_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash3); mtpTypeId _type; }; typedef MTPBoxed MTPSet_client_DH_params_answer; class MTPmsgsAck : private mtpDataOwner { public: MTPmsgsAck(); MTPmsgsAck(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_ack) : mtpDataOwner(0) { read(from, end, cons); } MTPDmsgs_ack &_msgs_ack() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmsgs_ack*)data; } const MTPDmsgs_ack &c_msgs_ack() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmsgs_ack*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_ack); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgsAck(MTPDmsgs_ack *_data); friend MTPmsgsAck MTP_msgs_ack(const MTPVector &_msg_ids); }; typedef MTPBoxed MTPMsgsAck; class MTPbadMsgNotification : private mtpDataOwner { public: MTPbadMsgNotification() : mtpDataOwner(0), _type(0) { } MTPbadMsgNotification(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDbad_msg_notification &_bad_msg_notification() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_bad_msg_notification) throw mtpErrorWrongTypeId(_type, mtpc_bad_msg_notification); split(); return *(MTPDbad_msg_notification*)data; } const MTPDbad_msg_notification &c_bad_msg_notification() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_bad_msg_notification) throw mtpErrorWrongTypeId(_type, mtpc_bad_msg_notification); return *(const MTPDbad_msg_notification*)data; } MTPDbad_server_salt &_bad_server_salt() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_bad_server_salt) throw mtpErrorWrongTypeId(_type, mtpc_bad_server_salt); split(); return *(MTPDbad_server_salt*)data; } const MTPDbad_server_salt &c_bad_server_salt() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_bad_server_salt) throw mtpErrorWrongTypeId(_type, mtpc_bad_server_salt); return *(const MTPDbad_server_salt*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPbadMsgNotification(mtpTypeId type); explicit MTPbadMsgNotification(MTPDbad_msg_notification *_data); explicit MTPbadMsgNotification(MTPDbad_server_salt *_data); friend MTPbadMsgNotification MTP_bad_msg_notification(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code); friend MTPbadMsgNotification MTP_bad_server_salt(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code, const MTPlong &_new_server_salt); mtpTypeId _type; }; typedef MTPBoxed MTPBadMsgNotification; class MTPmsgsStateReq : private mtpDataOwner { public: MTPmsgsStateReq(); MTPmsgsStateReq(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_state_req) : mtpDataOwner(0) { read(from, end, cons); } MTPDmsgs_state_req &_msgs_state_req() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmsgs_state_req*)data; } const MTPDmsgs_state_req &c_msgs_state_req() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmsgs_state_req*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_state_req); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgsStateReq(MTPDmsgs_state_req *_data); friend MTPmsgsStateReq MTP_msgs_state_req(const MTPVector &_msg_ids); }; typedef MTPBoxed MTPMsgsStateReq; class MTPmsgsStateInfo : private mtpDataOwner { public: MTPmsgsStateInfo(); MTPmsgsStateInfo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_state_info) : mtpDataOwner(0) { read(from, end, cons); } MTPDmsgs_state_info &_msgs_state_info() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmsgs_state_info*)data; } const MTPDmsgs_state_info &c_msgs_state_info() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmsgs_state_info*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_state_info); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgsStateInfo(MTPDmsgs_state_info *_data); friend MTPmsgsStateInfo MTP_msgs_state_info(const MTPlong &_req_msg_id, const MTPstring &_info); }; typedef MTPBoxed MTPMsgsStateInfo; class MTPmsgsAllInfo : private mtpDataOwner { public: MTPmsgsAllInfo(); MTPmsgsAllInfo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_all_info) : mtpDataOwner(0) { read(from, end, cons); } MTPDmsgs_all_info &_msgs_all_info() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmsgs_all_info*)data; } const MTPDmsgs_all_info &c_msgs_all_info() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmsgs_all_info*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msgs_all_info); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgsAllInfo(MTPDmsgs_all_info *_data); friend MTPmsgsAllInfo MTP_msgs_all_info(const MTPVector &_msg_ids, const MTPstring &_info); }; typedef MTPBoxed MTPMsgsAllInfo; class MTPmsgDetailedInfo : private mtpDataOwner { public: MTPmsgDetailedInfo() : mtpDataOwner(0), _type(0) { } MTPmsgDetailedInfo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmsg_detailed_info &_msg_detailed_info() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_msg_detailed_info) throw mtpErrorWrongTypeId(_type, mtpc_msg_detailed_info); split(); return *(MTPDmsg_detailed_info*)data; } const MTPDmsg_detailed_info &c_msg_detailed_info() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_msg_detailed_info) throw mtpErrorWrongTypeId(_type, mtpc_msg_detailed_info); return *(const MTPDmsg_detailed_info*)data; } MTPDmsg_new_detailed_info &_msg_new_detailed_info() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_msg_new_detailed_info) throw mtpErrorWrongTypeId(_type, mtpc_msg_new_detailed_info); split(); return *(MTPDmsg_new_detailed_info*)data; } const MTPDmsg_new_detailed_info &c_msg_new_detailed_info() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_msg_new_detailed_info) throw mtpErrorWrongTypeId(_type, mtpc_msg_new_detailed_info); return *(const MTPDmsg_new_detailed_info*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgDetailedInfo(mtpTypeId type); explicit MTPmsgDetailedInfo(MTPDmsg_detailed_info *_data); explicit MTPmsgDetailedInfo(MTPDmsg_new_detailed_info *_data); friend MTPmsgDetailedInfo MTP_msg_detailed_info(const MTPlong &_msg_id, const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status); friend MTPmsgDetailedInfo MTP_msg_new_detailed_info(const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status); mtpTypeId _type; }; typedef MTPBoxed MTPMsgDetailedInfo; class MTPmsgResendReq : private mtpDataOwner { public: MTPmsgResendReq(); MTPmsgResendReq(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msg_resend_req) : mtpDataOwner(0) { read(from, end, cons); } MTPDmsg_resend_req &_msg_resend_req() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmsg_resend_req*)data; } const MTPDmsg_resend_req &c_msg_resend_req() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmsg_resend_req*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_msg_resend_req); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmsgResendReq(MTPDmsg_resend_req *_data); friend MTPmsgResendReq MTP_msg_resend_req(const MTPVector &_msg_ids); }; typedef MTPBoxed MTPMsgResendReq; class MTPrpcError : private mtpDataOwner { public: MTPrpcError(); MTPrpcError(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_rpc_error) : mtpDataOwner(0) { read(from, end, cons); } MTPDrpc_error &_rpc_error() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDrpc_error*)data; } const MTPDrpc_error &c_rpc_error() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDrpc_error*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_rpc_error); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPrpcError(MTPDrpc_error *_data); friend MTPrpcError MTP_rpc_error(MTPint _error_code, const MTPstring &_error_message); }; typedef MTPBoxed MTPRpcError; class MTPrpcDropAnswer : private mtpDataOwner { public: MTPrpcDropAnswer() : mtpDataOwner(0), _type(0) { } MTPrpcDropAnswer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDrpc_answer_dropped &_rpc_answer_dropped() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_rpc_answer_dropped) throw mtpErrorWrongTypeId(_type, mtpc_rpc_answer_dropped); split(); return *(MTPDrpc_answer_dropped*)data; } const MTPDrpc_answer_dropped &c_rpc_answer_dropped() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_rpc_answer_dropped) throw mtpErrorWrongTypeId(_type, mtpc_rpc_answer_dropped); return *(const MTPDrpc_answer_dropped*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPrpcDropAnswer(mtpTypeId type); explicit MTPrpcDropAnswer(MTPDrpc_answer_dropped *_data); friend MTPrpcDropAnswer MTP_rpc_answer_unknown(); friend MTPrpcDropAnswer MTP_rpc_answer_dropped_running(); friend MTPrpcDropAnswer MTP_rpc_answer_dropped(const MTPlong &_msg_id, MTPint _seq_no, MTPint _bytes); mtpTypeId _type; }; typedef MTPBoxed MTPRpcDropAnswer; class MTPfutureSalt : private mtpDataOwner { public: MTPfutureSalt(); MTPfutureSalt(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_future_salt) : mtpDataOwner(0) { read(from, end, cons); } MTPDfuture_salt &_future_salt() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDfuture_salt*)data; } const MTPDfuture_salt &c_future_salt() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDfuture_salt*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_future_salt); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPfutureSalt(MTPDfuture_salt *_data); friend MTPfutureSalt MTP_future_salt(MTPint _valid_since, MTPint _valid_until, const MTPlong &_salt); }; typedef MTPBoxed MTPFutureSalt; class MTPfutureSalts : private mtpDataOwner { public: MTPfutureSalts(); MTPfutureSalts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_future_salts) : mtpDataOwner(0) { read(from, end, cons); } MTPDfuture_salts &_future_salts() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDfuture_salts*)data; } const MTPDfuture_salts &c_future_salts() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDfuture_salts*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_future_salts); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPfutureSalts(MTPDfuture_salts *_data); friend MTPfutureSalts MTP_future_salts(const MTPlong &_req_msg_id, MTPint _now, const MTPvector &_salts); }; typedef MTPBoxed MTPFutureSalts; class MTPpong : private mtpDataOwner { public: MTPpong(); MTPpong(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_pong) : mtpDataOwner(0) { read(from, end, cons); } MTPDpong &_pong() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDpong*)data; } const MTPDpong &c_pong() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDpong*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_pong); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPpong(MTPDpong *_data); friend MTPpong MTP_pong(const MTPlong &_msg_id, const MTPlong &_ping_id); }; typedef MTPBoxed MTPPong; class MTPdestroySessionRes : private mtpDataOwner { public: MTPdestroySessionRes() : mtpDataOwner(0), _type(0) { } MTPdestroySessionRes(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdestroy_session_ok &_destroy_session_ok() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_destroy_session_ok) throw mtpErrorWrongTypeId(_type, mtpc_destroy_session_ok); split(); return *(MTPDdestroy_session_ok*)data; } const MTPDdestroy_session_ok &c_destroy_session_ok() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_destroy_session_ok) throw mtpErrorWrongTypeId(_type, mtpc_destroy_session_ok); return *(const MTPDdestroy_session_ok*)data; } MTPDdestroy_session_none &_destroy_session_none() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_destroy_session_none) throw mtpErrorWrongTypeId(_type, mtpc_destroy_session_none); split(); return *(MTPDdestroy_session_none*)data; } const MTPDdestroy_session_none &c_destroy_session_none() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_destroy_session_none) throw mtpErrorWrongTypeId(_type, mtpc_destroy_session_none); return *(const MTPDdestroy_session_none*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdestroySessionRes(mtpTypeId type); explicit MTPdestroySessionRes(MTPDdestroy_session_ok *_data); explicit MTPdestroySessionRes(MTPDdestroy_session_none *_data); friend MTPdestroySessionRes MTP_destroy_session_ok(const MTPlong &_session_id); friend MTPdestroySessionRes MTP_destroy_session_none(const MTPlong &_session_id); mtpTypeId _type; }; typedef MTPBoxed MTPDestroySessionRes; class MTPnewSession : private mtpDataOwner { public: MTPnewSession(); MTPnewSession(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_new_session_created) : mtpDataOwner(0) { read(from, end, cons); } MTPDnew_session_created &_new_session_created() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDnew_session_created*)data; } const MTPDnew_session_created &c_new_session_created() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDnew_session_created*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_new_session_created); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPnewSession(MTPDnew_session_created *_data); friend MTPnewSession MTP_new_session_created(const MTPlong &_first_msg_id, const MTPlong &_unique_id, const MTPlong &_server_salt); }; typedef MTPBoxed MTPNewSession; class MTPhttpWait : private mtpDataOwner { public: MTPhttpWait(); MTPhttpWait(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_http_wait) : mtpDataOwner(0) { read(from, end, cons); } MTPDhttp_wait &_http_wait() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDhttp_wait*)data; } const MTPDhttp_wait &c_http_wait() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDhttp_wait*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_http_wait); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPhttpWait(MTPDhttp_wait *_data); friend MTPhttpWait MTP_http_wait(MTPint _max_delay, MTPint _wait_after, MTPint _max_wait); }; typedef MTPBoxed MTPHttpWait; class MTPinputPeer : private mtpDataOwner { public: MTPinputPeer() : mtpDataOwner(0), _type(0) { } MTPinputPeer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputPeerContact &_inputPeerContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerContact) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerContact); split(); return *(MTPDinputPeerContact*)data; } const MTPDinputPeerContact &c_inputPeerContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerContact) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerContact); return *(const MTPDinputPeerContact*)data; } MTPDinputPeerForeign &_inputPeerForeign() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerForeign) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerForeign); split(); return *(MTPDinputPeerForeign*)data; } const MTPDinputPeerForeign &c_inputPeerForeign() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerForeign) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerForeign); return *(const MTPDinputPeerForeign*)data; } MTPDinputPeerChat &_inputPeerChat() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerChat) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerChat); split(); return *(MTPDinputPeerChat*)data; } const MTPDinputPeerChat &c_inputPeerChat() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPeerChat) throw mtpErrorWrongTypeId(_type, mtpc_inputPeerChat); return *(const MTPDinputPeerChat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputPeer(mtpTypeId type); explicit MTPinputPeer(MTPDinputPeerContact *_data); explicit MTPinputPeer(MTPDinputPeerForeign *_data); explicit MTPinputPeer(MTPDinputPeerChat *_data); friend MTPinputPeer MTP_inputPeerEmpty(); friend MTPinputPeer MTP_inputPeerSelf(); friend MTPinputPeer MTP_inputPeerContact(MTPint _user_id); friend MTPinputPeer MTP_inputPeerForeign(MTPint _user_id, const MTPlong &_access_hash); friend MTPinputPeer MTP_inputPeerChat(MTPint _chat_id); mtpTypeId _type; }; typedef MTPBoxed MTPInputPeer; class MTPinputUser : private mtpDataOwner { public: MTPinputUser() : mtpDataOwner(0), _type(0) { } MTPinputUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputUserContact &_inputUserContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputUserContact) throw mtpErrorWrongTypeId(_type, mtpc_inputUserContact); split(); return *(MTPDinputUserContact*)data; } const MTPDinputUserContact &c_inputUserContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputUserContact) throw mtpErrorWrongTypeId(_type, mtpc_inputUserContact); return *(const MTPDinputUserContact*)data; } MTPDinputUserForeign &_inputUserForeign() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputUserForeign) throw mtpErrorWrongTypeId(_type, mtpc_inputUserForeign); split(); return *(MTPDinputUserForeign*)data; } const MTPDinputUserForeign &c_inputUserForeign() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputUserForeign) throw mtpErrorWrongTypeId(_type, mtpc_inputUserForeign); return *(const MTPDinputUserForeign*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputUser(mtpTypeId type); explicit MTPinputUser(MTPDinputUserContact *_data); explicit MTPinputUser(MTPDinputUserForeign *_data); friend MTPinputUser MTP_inputUserEmpty(); friend MTPinputUser MTP_inputUserSelf(); friend MTPinputUser MTP_inputUserContact(MTPint _user_id); friend MTPinputUser MTP_inputUserForeign(MTPint _user_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputUser; class MTPinputContact : private mtpDataOwner { public: MTPinputContact(); MTPinputContact(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputPhoneContact) : mtpDataOwner(0) { read(from, end, cons); } MTPDinputPhoneContact &_inputPhoneContact() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDinputPhoneContact*)data; } const MTPDinputPhoneContact &c_inputPhoneContact() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDinputPhoneContact*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputPhoneContact); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputContact(MTPDinputPhoneContact *_data); friend MTPinputContact MTP_inputPhoneContact(const MTPlong &_client_id, const MTPstring &_phone, const MTPstring &_first_name, const MTPstring &_last_name); }; typedef MTPBoxed MTPInputContact; class MTPinputFile : private mtpDataOwner { public: MTPinputFile() : mtpDataOwner(0), _type(0) { } MTPinputFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputFile &_inputFile() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFile) throw mtpErrorWrongTypeId(_type, mtpc_inputFile); split(); return *(MTPDinputFile*)data; } const MTPDinputFile &c_inputFile() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFile) throw mtpErrorWrongTypeId(_type, mtpc_inputFile); return *(const MTPDinputFile*)data; } MTPDinputFileBig &_inputFileBig() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFileBig) throw mtpErrorWrongTypeId(_type, mtpc_inputFileBig); split(); return *(MTPDinputFileBig*)data; } const MTPDinputFileBig &c_inputFileBig() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFileBig) throw mtpErrorWrongTypeId(_type, mtpc_inputFileBig); return *(const MTPDinputFileBig*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputFile(mtpTypeId type); explicit MTPinputFile(MTPDinputFile *_data); explicit MTPinputFile(MTPDinputFileBig *_data); friend MTPinputFile MTP_inputFile(const MTPlong &_id, MTPint _parts, const MTPstring &_name, const MTPstring &_md5_checksum); friend MTPinputFile MTP_inputFileBig(const MTPlong &_id, MTPint _parts, const MTPstring &_name); mtpTypeId _type; }; typedef MTPBoxed MTPInputFile; class MTPinputMedia : private mtpDataOwner { public: MTPinputMedia() : mtpDataOwner(0), _type(0) { } MTPinputMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputMediaUploadedPhoto &_inputMediaUploadedPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedPhoto); split(); return *(MTPDinputMediaUploadedPhoto*)data; } const MTPDinputMediaUploadedPhoto &c_inputMediaUploadedPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedPhoto); return *(const MTPDinputMediaUploadedPhoto*)data; } MTPDinputMediaPhoto &_inputMediaPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaPhoto); split(); return *(MTPDinputMediaPhoto*)data; } const MTPDinputMediaPhoto &c_inputMediaPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaPhoto); return *(const MTPDinputMediaPhoto*)data; } MTPDinputMediaGeoPoint &_inputMediaGeoPoint() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaGeoPoint); split(); return *(MTPDinputMediaGeoPoint*)data; } const MTPDinputMediaGeoPoint &c_inputMediaGeoPoint() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaGeoPoint); return *(const MTPDinputMediaGeoPoint*)data; } MTPDinputMediaContact &_inputMediaContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaContact); split(); return *(MTPDinputMediaContact*)data; } const MTPDinputMediaContact &c_inputMediaContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaContact); return *(const MTPDinputMediaContact*)data; } MTPDinputMediaUploadedVideo &_inputMediaUploadedVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedVideo); split(); return *(MTPDinputMediaUploadedVideo*)data; } const MTPDinputMediaUploadedVideo &c_inputMediaUploadedVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedVideo); return *(const MTPDinputMediaUploadedVideo*)data; } MTPDinputMediaUploadedThumbVideo &_inputMediaUploadedThumbVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedThumbVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedThumbVideo); split(); return *(MTPDinputMediaUploadedThumbVideo*)data; } const MTPDinputMediaUploadedThumbVideo &c_inputMediaUploadedThumbVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedThumbVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedThumbVideo); return *(const MTPDinputMediaUploadedThumbVideo*)data; } MTPDinputMediaVideo &_inputMediaVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaVideo); split(); return *(MTPDinputMediaVideo*)data; } const MTPDinputMediaVideo &c_inputMediaVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaVideo); return *(const MTPDinputMediaVideo*)data; } MTPDinputMediaUploadedAudio &_inputMediaUploadedAudio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedAudio); split(); return *(MTPDinputMediaUploadedAudio*)data; } const MTPDinputMediaUploadedAudio &c_inputMediaUploadedAudio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedAudio); return *(const MTPDinputMediaUploadedAudio*)data; } MTPDinputMediaAudio &_inputMediaAudio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaAudio); split(); return *(MTPDinputMediaAudio*)data; } const MTPDinputMediaAudio &c_inputMediaAudio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaAudio); return *(const MTPDinputMediaAudio*)data; } MTPDinputMediaUploadedDocument &_inputMediaUploadedDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedDocument); split(); return *(MTPDinputMediaUploadedDocument*)data; } const MTPDinputMediaUploadedDocument &c_inputMediaUploadedDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedDocument); return *(const MTPDinputMediaUploadedDocument*)data; } MTPDinputMediaUploadedThumbDocument &_inputMediaUploadedThumbDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedThumbDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedThumbDocument); split(); return *(MTPDinputMediaUploadedThumbDocument*)data; } const MTPDinputMediaUploadedThumbDocument &c_inputMediaUploadedThumbDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaUploadedThumbDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaUploadedThumbDocument); return *(const MTPDinputMediaUploadedThumbDocument*)data; } MTPDinputMediaDocument &_inputMediaDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaDocument); split(); return *(MTPDinputMediaDocument*)data; } const MTPDinputMediaDocument &c_inputMediaDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputMediaDocument); return *(const MTPDinputMediaDocument*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputMedia(mtpTypeId type); explicit MTPinputMedia(MTPDinputMediaUploadedPhoto *_data); explicit MTPinputMedia(MTPDinputMediaPhoto *_data); explicit MTPinputMedia(MTPDinputMediaGeoPoint *_data); explicit MTPinputMedia(MTPDinputMediaContact *_data); explicit MTPinputMedia(MTPDinputMediaUploadedVideo *_data); explicit MTPinputMedia(MTPDinputMediaUploadedThumbVideo *_data); explicit MTPinputMedia(MTPDinputMediaVideo *_data); explicit MTPinputMedia(MTPDinputMediaUploadedAudio *_data); explicit MTPinputMedia(MTPDinputMediaAudio *_data); explicit MTPinputMedia(MTPDinputMediaUploadedDocument *_data); explicit MTPinputMedia(MTPDinputMediaUploadedThumbDocument *_data); explicit MTPinputMedia(MTPDinputMediaDocument *_data); friend MTPinputMedia MTP_inputMediaEmpty(); friend MTPinputMedia MTP_inputMediaUploadedPhoto(const MTPInputFile &_file); friend MTPinputMedia MTP_inputMediaPhoto(const MTPInputPhoto &_id); friend MTPinputMedia MTP_inputMediaGeoPoint(const MTPInputGeoPoint &_geo_point); friend MTPinputMedia MTP_inputMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name); friend MTPinputMedia MTP_inputMediaUploadedVideo(const MTPInputFile &_file, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type); friend MTPinputMedia MTP_inputMediaUploadedThumbVideo(const MTPInputFile &_file, const MTPInputFile &_thumb, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type); friend MTPinputMedia MTP_inputMediaVideo(const MTPInputVideo &_id); friend MTPinputMedia MTP_inputMediaUploadedAudio(const MTPInputFile &_file, MTPint _duration, const MTPstring &_mime_type); friend MTPinputMedia MTP_inputMediaAudio(const MTPInputAudio &_id); friend MTPinputMedia MTP_inputMediaUploadedDocument(const MTPInputFile &_file, const MTPstring &_file_name, const MTPstring &_mime_type); friend MTPinputMedia MTP_inputMediaUploadedThumbDocument(const MTPInputFile &_file, const MTPInputFile &_thumb, const MTPstring &_file_name, const MTPstring &_mime_type); friend MTPinputMedia MTP_inputMediaDocument(const MTPInputDocument &_id); mtpTypeId _type; }; typedef MTPBoxed MTPInputMedia; class MTPinputChatPhoto : private mtpDataOwner { public: MTPinputChatPhoto() : mtpDataOwner(0), _type(0) { } MTPinputChatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputChatUploadedPhoto &_inputChatUploadedPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputChatUploadedPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputChatUploadedPhoto); split(); return *(MTPDinputChatUploadedPhoto*)data; } const MTPDinputChatUploadedPhoto &c_inputChatUploadedPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputChatUploadedPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputChatUploadedPhoto); return *(const MTPDinputChatUploadedPhoto*)data; } MTPDinputChatPhoto &_inputChatPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputChatPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputChatPhoto); split(); return *(MTPDinputChatPhoto*)data; } const MTPDinputChatPhoto &c_inputChatPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputChatPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputChatPhoto); return *(const MTPDinputChatPhoto*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputChatPhoto(mtpTypeId type); explicit MTPinputChatPhoto(MTPDinputChatUploadedPhoto *_data); explicit MTPinputChatPhoto(MTPDinputChatPhoto *_data); friend MTPinputChatPhoto MTP_inputChatPhotoEmpty(); friend MTPinputChatPhoto MTP_inputChatUploadedPhoto(const MTPInputFile &_file, const MTPInputPhotoCrop &_crop); friend MTPinputChatPhoto MTP_inputChatPhoto(const MTPInputPhoto &_id, const MTPInputPhotoCrop &_crop); mtpTypeId _type; }; typedef MTPBoxed MTPInputChatPhoto; class MTPinputGeoPoint : private mtpDataOwner { public: MTPinputGeoPoint() : mtpDataOwner(0), _type(0) { } MTPinputGeoPoint(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputGeoPoint &_inputGeoPoint() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_inputGeoPoint); split(); return *(MTPDinputGeoPoint*)data; } const MTPDinputGeoPoint &c_inputGeoPoint() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_inputGeoPoint); return *(const MTPDinputGeoPoint*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputGeoPoint(mtpTypeId type); explicit MTPinputGeoPoint(MTPDinputGeoPoint *_data); friend MTPinputGeoPoint MTP_inputGeoPointEmpty(); friend MTPinputGeoPoint MTP_inputGeoPoint(const MTPdouble &_lat, const MTPdouble &_long); mtpTypeId _type; }; typedef MTPBoxed MTPInputGeoPoint; class MTPinputPhoto : private mtpDataOwner { public: MTPinputPhoto() : mtpDataOwner(0), _type(0) { } MTPinputPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputPhoto &_inputPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputPhoto); split(); return *(MTPDinputPhoto*)data; } const MTPDinputPhoto &c_inputPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPhoto) throw mtpErrorWrongTypeId(_type, mtpc_inputPhoto); return *(const MTPDinputPhoto*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputPhoto(mtpTypeId type); explicit MTPinputPhoto(MTPDinputPhoto *_data); friend MTPinputPhoto MTP_inputPhotoEmpty(); friend MTPinputPhoto MTP_inputPhoto(const MTPlong &_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputPhoto; class MTPinputVideo : private mtpDataOwner { public: MTPinputVideo() : mtpDataOwner(0), _type(0) { } MTPinputVideo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputVideo &_inputVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputVideo); split(); return *(MTPDinputVideo*)data; } const MTPDinputVideo &c_inputVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputVideo) throw mtpErrorWrongTypeId(_type, mtpc_inputVideo); return *(const MTPDinputVideo*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputVideo(mtpTypeId type); explicit MTPinputVideo(MTPDinputVideo *_data); friend MTPinputVideo MTP_inputVideoEmpty(); friend MTPinputVideo MTP_inputVideo(const MTPlong &_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputVideo; class MTPinputFileLocation : private mtpDataOwner { public: MTPinputFileLocation() : mtpDataOwner(0), _type(0) { } MTPinputFileLocation(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputFileLocation &_inputFileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputFileLocation); split(); return *(MTPDinputFileLocation*)data; } const MTPDinputFileLocation &c_inputFileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputFileLocation); return *(const MTPDinputFileLocation*)data; } MTPDinputVideoFileLocation &_inputVideoFileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputVideoFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputVideoFileLocation); split(); return *(MTPDinputVideoFileLocation*)data; } const MTPDinputVideoFileLocation &c_inputVideoFileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputVideoFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputVideoFileLocation); return *(const MTPDinputVideoFileLocation*)data; } MTPDinputEncryptedFileLocation &_inputEncryptedFileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileLocation); split(); return *(MTPDinputEncryptedFileLocation*)data; } const MTPDinputEncryptedFileLocation &c_inputEncryptedFileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileLocation); return *(const MTPDinputEncryptedFileLocation*)data; } MTPDinputAudioFileLocation &_inputAudioFileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputAudioFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputAudioFileLocation); split(); return *(MTPDinputAudioFileLocation*)data; } const MTPDinputAudioFileLocation &c_inputAudioFileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputAudioFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputAudioFileLocation); return *(const MTPDinputAudioFileLocation*)data; } MTPDinputDocumentFileLocation &_inputDocumentFileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputDocumentFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputDocumentFileLocation); split(); return *(MTPDinputDocumentFileLocation*)data; } const MTPDinputDocumentFileLocation &c_inputDocumentFileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputDocumentFileLocation) throw mtpErrorWrongTypeId(_type, mtpc_inputDocumentFileLocation); return *(const MTPDinputDocumentFileLocation*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputFileLocation(mtpTypeId type); explicit MTPinputFileLocation(MTPDinputFileLocation *_data); explicit MTPinputFileLocation(MTPDinputVideoFileLocation *_data); explicit MTPinputFileLocation(MTPDinputEncryptedFileLocation *_data); explicit MTPinputFileLocation(MTPDinputAudioFileLocation *_data); explicit MTPinputFileLocation(MTPDinputDocumentFileLocation *_data); friend MTPinputFileLocation MTP_inputFileLocation(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret); friend MTPinputFileLocation MTP_inputVideoFileLocation(const MTPlong &_id, const MTPlong &_access_hash); friend MTPinputFileLocation MTP_inputEncryptedFileLocation(const MTPlong &_id, const MTPlong &_access_hash); friend MTPinputFileLocation MTP_inputAudioFileLocation(const MTPlong &_id, const MTPlong &_access_hash); friend MTPinputFileLocation MTP_inputDocumentFileLocation(const MTPlong &_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputFileLocation; class MTPinputPhotoCrop : private mtpDataOwner { public: MTPinputPhotoCrop() : mtpDataOwner(0), _type(0) { } MTPinputPhotoCrop(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputPhotoCrop &_inputPhotoCrop() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPhotoCrop) throw mtpErrorWrongTypeId(_type, mtpc_inputPhotoCrop); split(); return *(MTPDinputPhotoCrop*)data; } const MTPDinputPhotoCrop &c_inputPhotoCrop() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputPhotoCrop) throw mtpErrorWrongTypeId(_type, mtpc_inputPhotoCrop); return *(const MTPDinputPhotoCrop*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputPhotoCrop(mtpTypeId type); explicit MTPinputPhotoCrop(MTPDinputPhotoCrop *_data); friend MTPinputPhotoCrop MTP_inputPhotoCropAuto(); friend MTPinputPhotoCrop MTP_inputPhotoCrop(const MTPdouble &_crop_left, const MTPdouble &_crop_top, const MTPdouble &_crop_width); mtpTypeId _type; }; typedef MTPBoxed MTPInputPhotoCrop; class MTPinputAppEvent : private mtpDataOwner { public: MTPinputAppEvent(); MTPinputAppEvent(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputAppEvent) : mtpDataOwner(0) { read(from, end, cons); } MTPDinputAppEvent &_inputAppEvent() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDinputAppEvent*)data; } const MTPDinputAppEvent &c_inputAppEvent() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDinputAppEvent*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputAppEvent); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputAppEvent(MTPDinputAppEvent *_data); friend MTPinputAppEvent MTP_inputAppEvent(const MTPdouble &_time, const MTPstring &_type, const MTPlong &_peer, const MTPstring &_data); }; typedef MTPBoxed MTPInputAppEvent; class MTPpeer : private mtpDataOwner { public: MTPpeer() : mtpDataOwner(0), _type(0) { } MTPpeer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDpeerUser &_peerUser() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerUser) throw mtpErrorWrongTypeId(_type, mtpc_peerUser); split(); return *(MTPDpeerUser*)data; } const MTPDpeerUser &c_peerUser() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerUser) throw mtpErrorWrongTypeId(_type, mtpc_peerUser); return *(const MTPDpeerUser*)data; } MTPDpeerChat &_peerChat() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerChat) throw mtpErrorWrongTypeId(_type, mtpc_peerChat); split(); return *(MTPDpeerChat*)data; } const MTPDpeerChat &c_peerChat() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerChat) throw mtpErrorWrongTypeId(_type, mtpc_peerChat); return *(const MTPDpeerChat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPpeer(mtpTypeId type); explicit MTPpeer(MTPDpeerUser *_data); explicit MTPpeer(MTPDpeerChat *_data); friend MTPpeer MTP_peerUser(MTPint _user_id); friend MTPpeer MTP_peerChat(MTPint _chat_id); mtpTypeId _type; }; typedef MTPBoxed MTPPeer; class MTPstorage_fileType { public: MTPstorage_fileType() : _type(0) { } MTPstorage_fileType(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : _type(0) { read(from, end, cons); } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPstorage_fileType(mtpTypeId type); friend MTPstorage_fileType MTP_storage_fileUnknown(); friend MTPstorage_fileType MTP_storage_fileJpeg(); friend MTPstorage_fileType MTP_storage_fileGif(); friend MTPstorage_fileType MTP_storage_filePng(); friend MTPstorage_fileType MTP_storage_filePdf(); friend MTPstorage_fileType MTP_storage_fileMp3(); friend MTPstorage_fileType MTP_storage_fileMov(); friend MTPstorage_fileType MTP_storage_filePartial(); friend MTPstorage_fileType MTP_storage_fileMp4(); friend MTPstorage_fileType MTP_storage_fileWebp(); mtpTypeId _type; }; typedef MTPBoxed MTPstorage_FileType; class MTPfileLocation : private mtpDataOwner { public: MTPfileLocation() : mtpDataOwner(0), _type(0) { } MTPfileLocation(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDfileLocationUnavailable &_fileLocationUnavailable() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_fileLocationUnavailable) throw mtpErrorWrongTypeId(_type, mtpc_fileLocationUnavailable); split(); return *(MTPDfileLocationUnavailable*)data; } const MTPDfileLocationUnavailable &c_fileLocationUnavailable() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_fileLocationUnavailable) throw mtpErrorWrongTypeId(_type, mtpc_fileLocationUnavailable); return *(const MTPDfileLocationUnavailable*)data; } MTPDfileLocation &_fileLocation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_fileLocation) throw mtpErrorWrongTypeId(_type, mtpc_fileLocation); split(); return *(MTPDfileLocation*)data; } const MTPDfileLocation &c_fileLocation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_fileLocation) throw mtpErrorWrongTypeId(_type, mtpc_fileLocation); return *(const MTPDfileLocation*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPfileLocation(mtpTypeId type); explicit MTPfileLocation(MTPDfileLocationUnavailable *_data); explicit MTPfileLocation(MTPDfileLocation *_data); friend MTPfileLocation MTP_fileLocationUnavailable(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret); friend MTPfileLocation MTP_fileLocation(MTPint _dc_id, const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret); mtpTypeId _type; }; typedef MTPBoxed MTPFileLocation; class MTPuser : private mtpDataOwner { public: MTPuser() : mtpDataOwner(0), _type(0) { } MTPuser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDuserEmpty &_userEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userEmpty) throw mtpErrorWrongTypeId(_type, mtpc_userEmpty); split(); return *(MTPDuserEmpty*)data; } const MTPDuserEmpty &c_userEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userEmpty) throw mtpErrorWrongTypeId(_type, mtpc_userEmpty); return *(const MTPDuserEmpty*)data; } MTPDuserSelf &_userSelf() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userSelf) throw mtpErrorWrongTypeId(_type, mtpc_userSelf); split(); return *(MTPDuserSelf*)data; } const MTPDuserSelf &c_userSelf() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userSelf) throw mtpErrorWrongTypeId(_type, mtpc_userSelf); return *(const MTPDuserSelf*)data; } MTPDuserContact &_userContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userContact) throw mtpErrorWrongTypeId(_type, mtpc_userContact); split(); return *(MTPDuserContact*)data; } const MTPDuserContact &c_userContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userContact) throw mtpErrorWrongTypeId(_type, mtpc_userContact); return *(const MTPDuserContact*)data; } MTPDuserRequest &_userRequest() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userRequest) throw mtpErrorWrongTypeId(_type, mtpc_userRequest); split(); return *(MTPDuserRequest*)data; } const MTPDuserRequest &c_userRequest() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userRequest) throw mtpErrorWrongTypeId(_type, mtpc_userRequest); return *(const MTPDuserRequest*)data; } MTPDuserForeign &_userForeign() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userForeign) throw mtpErrorWrongTypeId(_type, mtpc_userForeign); split(); return *(MTPDuserForeign*)data; } const MTPDuserForeign &c_userForeign() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userForeign) throw mtpErrorWrongTypeId(_type, mtpc_userForeign); return *(const MTPDuserForeign*)data; } MTPDuserDeleted &_userDeleted() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userDeleted) throw mtpErrorWrongTypeId(_type, mtpc_userDeleted); split(); return *(MTPDuserDeleted*)data; } const MTPDuserDeleted &c_userDeleted() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userDeleted) throw mtpErrorWrongTypeId(_type, mtpc_userDeleted); return *(const MTPDuserDeleted*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPuser(mtpTypeId type); explicit MTPuser(MTPDuserEmpty *_data); explicit MTPuser(MTPDuserSelf *_data); explicit MTPuser(MTPDuserContact *_data); explicit MTPuser(MTPDuserRequest *_data); explicit MTPuser(MTPDuserForeign *_data); explicit MTPuser(MTPDuserDeleted *_data); friend MTPuser MTP_userEmpty(MTPint _id); friend MTPuser MTP_userSelf(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status, MTPBool _inactive); friend MTPuser MTP_userContact(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status); friend MTPuser MTP_userRequest(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status); friend MTPuser MTP_userForeign(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status); friend MTPuser MTP_userDeleted(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name); mtpTypeId _type; }; typedef MTPBoxed MTPUser; class MTPuserProfilePhoto : private mtpDataOwner { public: MTPuserProfilePhoto() : mtpDataOwner(0), _type(0) { } MTPuserProfilePhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDuserProfilePhoto &_userProfilePhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userProfilePhoto) throw mtpErrorWrongTypeId(_type, mtpc_userProfilePhoto); split(); return *(MTPDuserProfilePhoto*)data; } const MTPDuserProfilePhoto &c_userProfilePhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userProfilePhoto) throw mtpErrorWrongTypeId(_type, mtpc_userProfilePhoto); return *(const MTPDuserProfilePhoto*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPuserProfilePhoto(mtpTypeId type); explicit MTPuserProfilePhoto(MTPDuserProfilePhoto *_data); friend MTPuserProfilePhoto MTP_userProfilePhotoEmpty(); friend MTPuserProfilePhoto MTP_userProfilePhoto(const MTPlong &_photo_id, const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big); mtpTypeId _type; }; typedef MTPBoxed MTPUserProfilePhoto; class MTPuserStatus : private mtpDataOwner { public: MTPuserStatus() : mtpDataOwner(0), _type(0) { } MTPuserStatus(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDuserStatusOnline &_userStatusOnline() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userStatusOnline) throw mtpErrorWrongTypeId(_type, mtpc_userStatusOnline); split(); return *(MTPDuserStatusOnline*)data; } const MTPDuserStatusOnline &c_userStatusOnline() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userStatusOnline) throw mtpErrorWrongTypeId(_type, mtpc_userStatusOnline); return *(const MTPDuserStatusOnline*)data; } MTPDuserStatusOffline &_userStatusOffline() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userStatusOffline) throw mtpErrorWrongTypeId(_type, mtpc_userStatusOffline); split(); return *(MTPDuserStatusOffline*)data; } const MTPDuserStatusOffline &c_userStatusOffline() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_userStatusOffline) throw mtpErrorWrongTypeId(_type, mtpc_userStatusOffline); return *(const MTPDuserStatusOffline*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPuserStatus(mtpTypeId type); explicit MTPuserStatus(MTPDuserStatusOnline *_data); explicit MTPuserStatus(MTPDuserStatusOffline *_data); friend MTPuserStatus MTP_userStatusEmpty(); friend MTPuserStatus MTP_userStatusOnline(MTPint _expires); friend MTPuserStatus MTP_userStatusOffline(MTPint _was_online); mtpTypeId _type; }; typedef MTPBoxed MTPUserStatus; class MTPchat : private mtpDataOwner { public: MTPchat() : mtpDataOwner(0), _type(0) { } MTPchat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDchatEmpty &_chatEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatEmpty) throw mtpErrorWrongTypeId(_type, mtpc_chatEmpty); split(); return *(MTPDchatEmpty*)data; } const MTPDchatEmpty &c_chatEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatEmpty) throw mtpErrorWrongTypeId(_type, mtpc_chatEmpty); return *(const MTPDchatEmpty*)data; } MTPDchat &_chat() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chat) throw mtpErrorWrongTypeId(_type, mtpc_chat); split(); return *(MTPDchat*)data; } const MTPDchat &c_chat() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chat) throw mtpErrorWrongTypeId(_type, mtpc_chat); return *(const MTPDchat*)data; } MTPDchatForbidden &_chatForbidden() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatForbidden) throw mtpErrorWrongTypeId(_type, mtpc_chatForbidden); split(); return *(MTPDchatForbidden*)data; } const MTPDchatForbidden &c_chatForbidden() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatForbidden) throw mtpErrorWrongTypeId(_type, mtpc_chatForbidden); return *(const MTPDchatForbidden*)data; } MTPDgeoChat &_geoChat() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChat) throw mtpErrorWrongTypeId(_type, mtpc_geoChat); split(); return *(MTPDgeoChat*)data; } const MTPDgeoChat &c_geoChat() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChat) throw mtpErrorWrongTypeId(_type, mtpc_geoChat); return *(const MTPDgeoChat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchat(mtpTypeId type); explicit MTPchat(MTPDchatEmpty *_data); explicit MTPchat(MTPDchat *_data); explicit MTPchat(MTPDchatForbidden *_data); explicit MTPchat(MTPDgeoChat *_data); friend MTPchat MTP_chatEmpty(MTPint _id); friend MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version); friend MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title, MTPint _date); friend MTPchat MTP_geoChat(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title, const MTPstring &_address, const MTPstring &_venue, const MTPGeoPoint &_geo, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _checked_in, MTPint _version); mtpTypeId _type; }; typedef MTPBoxed MTPChat; class MTPchatFull : private mtpDataOwner { public: MTPchatFull(); MTPchatFull(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatFull) : mtpDataOwner(0) { read(from, end, cons); } MTPDchatFull &_chatFull() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDchatFull*)data; } const MTPDchatFull &c_chatFull() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDchatFull*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatFull); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchatFull(MTPDchatFull *_data); friend MTPchatFull MTP_chatFull(MTPint _id, const MTPChatParticipants &_participants, const MTPPhoto &_chat_photo, const MTPPeerNotifySettings &_notify_settings); }; typedef MTPBoxed MTPChatFull; class MTPchatParticipant : private mtpDataOwner { public: MTPchatParticipant(); MTPchatParticipant(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatParticipant) : mtpDataOwner(0) { read(from, end, cons); } MTPDchatParticipant &_chatParticipant() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDchatParticipant*)data; } const MTPDchatParticipant &c_chatParticipant() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDchatParticipant*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatParticipant); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchatParticipant(MTPDchatParticipant *_data); friend MTPchatParticipant MTP_chatParticipant(MTPint _user_id, MTPint _inviter_id, MTPint _date); }; typedef MTPBoxed MTPChatParticipant; class MTPchatParticipants : private mtpDataOwner { public: MTPchatParticipants() : mtpDataOwner(0), _type(0) { } MTPchatParticipants(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDchatParticipantsForbidden &_chatParticipantsForbidden() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatParticipantsForbidden) throw mtpErrorWrongTypeId(_type, mtpc_chatParticipantsForbidden); split(); return *(MTPDchatParticipantsForbidden*)data; } const MTPDchatParticipantsForbidden &c_chatParticipantsForbidden() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatParticipantsForbidden) throw mtpErrorWrongTypeId(_type, mtpc_chatParticipantsForbidden); return *(const MTPDchatParticipantsForbidden*)data; } MTPDchatParticipants &_chatParticipants() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatParticipants) throw mtpErrorWrongTypeId(_type, mtpc_chatParticipants); split(); return *(MTPDchatParticipants*)data; } const MTPDchatParticipants &c_chatParticipants() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatParticipants) throw mtpErrorWrongTypeId(_type, mtpc_chatParticipants); return *(const MTPDchatParticipants*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchatParticipants(mtpTypeId type); explicit MTPchatParticipants(MTPDchatParticipantsForbidden *_data); explicit MTPchatParticipants(MTPDchatParticipants *_data); friend MTPchatParticipants MTP_chatParticipantsForbidden(MTPint _chat_id); friend MTPchatParticipants MTP_chatParticipants(MTPint _chat_id, MTPint _admin_id, const MTPVector &_participants, MTPint _version); mtpTypeId _type; }; typedef MTPBoxed MTPChatParticipants; class MTPchatPhoto : private mtpDataOwner { public: MTPchatPhoto() : mtpDataOwner(0), _type(0) { } MTPchatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDchatPhoto &_chatPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatPhoto) throw mtpErrorWrongTypeId(_type, mtpc_chatPhoto); split(); return *(MTPDchatPhoto*)data; } const MTPDchatPhoto &c_chatPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_chatPhoto) throw mtpErrorWrongTypeId(_type, mtpc_chatPhoto); return *(const MTPDchatPhoto*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchatPhoto(mtpTypeId type); explicit MTPchatPhoto(MTPDchatPhoto *_data); friend MTPchatPhoto MTP_chatPhotoEmpty(); friend MTPchatPhoto MTP_chatPhoto(const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big); mtpTypeId _type; }; typedef MTPBoxed MTPChatPhoto; class MTPmessage : private mtpDataOwner { public: MTPmessage() : mtpDataOwner(0), _type(0) { } MTPmessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessageEmpty &_messageEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageEmpty) throw mtpErrorWrongTypeId(_type, mtpc_messageEmpty); split(); return *(MTPDmessageEmpty*)data; } const MTPDmessageEmpty &c_messageEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageEmpty) throw mtpErrorWrongTypeId(_type, mtpc_messageEmpty); return *(const MTPDmessageEmpty*)data; } MTPDmessage &_message() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_message) throw mtpErrorWrongTypeId(_type, mtpc_message); split(); return *(MTPDmessage*)data; } const MTPDmessage &c_message() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_message) throw mtpErrorWrongTypeId(_type, mtpc_message); return *(const MTPDmessage*)data; } MTPDmessageForwarded &_messageForwarded() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageForwarded) throw mtpErrorWrongTypeId(_type, mtpc_messageForwarded); split(); return *(MTPDmessageForwarded*)data; } const MTPDmessageForwarded &c_messageForwarded() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageForwarded) throw mtpErrorWrongTypeId(_type, mtpc_messageForwarded); return *(const MTPDmessageForwarded*)data; } MTPDmessageService &_messageService() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageService) throw mtpErrorWrongTypeId(_type, mtpc_messageService); split(); return *(MTPDmessageService*)data; } const MTPDmessageService &c_messageService() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageService) throw mtpErrorWrongTypeId(_type, mtpc_messageService); return *(const MTPDmessageService*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessage(mtpTypeId type); explicit MTPmessage(MTPDmessageEmpty *_data); explicit MTPmessage(MTPDmessage *_data); explicit MTPmessage(MTPDmessageForwarded *_data); explicit MTPmessage(MTPDmessageService *_data); friend MTPmessage MTP_messageEmpty(MTPint _id); friend MTPmessage MTP_message(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media); friend MTPmessage MTP_messageForwarded(MTPint _id, MTPint _fwd_from_id, MTPint _fwd_date, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media); friend MTPmessage MTP_messageService(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPMessageAction &_action); mtpTypeId _type; }; typedef MTPBoxed MTPMessage; class MTPmessageMedia : private mtpDataOwner { public: MTPmessageMedia() : mtpDataOwner(0), _type(0) { } MTPmessageMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessageMediaPhoto &_messageMediaPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaPhoto); split(); return *(MTPDmessageMediaPhoto*)data; } const MTPDmessageMediaPhoto &c_messageMediaPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaPhoto); return *(const MTPDmessageMediaPhoto*)data; } MTPDmessageMediaVideo &_messageMediaVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaVideo); split(); return *(MTPDmessageMediaVideo*)data; } const MTPDmessageMediaVideo &c_messageMediaVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaVideo); return *(const MTPDmessageMediaVideo*)data; } MTPDmessageMediaGeo &_messageMediaGeo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaGeo) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaGeo); split(); return *(MTPDmessageMediaGeo*)data; } const MTPDmessageMediaGeo &c_messageMediaGeo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaGeo) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaGeo); return *(const MTPDmessageMediaGeo*)data; } MTPDmessageMediaContact &_messageMediaContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaContact); split(); return *(MTPDmessageMediaContact*)data; } const MTPDmessageMediaContact &c_messageMediaContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaContact); return *(const MTPDmessageMediaContact*)data; } MTPDmessageMediaUnsupported &_messageMediaUnsupported() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaUnsupported) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaUnsupported); split(); return *(MTPDmessageMediaUnsupported*)data; } const MTPDmessageMediaUnsupported &c_messageMediaUnsupported() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaUnsupported) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaUnsupported); return *(const MTPDmessageMediaUnsupported*)data; } MTPDmessageMediaDocument &_messageMediaDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaDocument); split(); return *(MTPDmessageMediaDocument*)data; } const MTPDmessageMediaDocument &c_messageMediaDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaDocument); return *(const MTPDmessageMediaDocument*)data; } MTPDmessageMediaAudio &_messageMediaAudio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaAudio); split(); return *(MTPDmessageMediaAudio*)data; } const MTPDmessageMediaAudio &c_messageMediaAudio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_messageMediaAudio); return *(const MTPDmessageMediaAudio*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessageMedia(mtpTypeId type); explicit MTPmessageMedia(MTPDmessageMediaPhoto *_data); explicit MTPmessageMedia(MTPDmessageMediaVideo *_data); explicit MTPmessageMedia(MTPDmessageMediaGeo *_data); explicit MTPmessageMedia(MTPDmessageMediaContact *_data); explicit MTPmessageMedia(MTPDmessageMediaUnsupported *_data); explicit MTPmessageMedia(MTPDmessageMediaDocument *_data); explicit MTPmessageMedia(MTPDmessageMediaAudio *_data); friend MTPmessageMedia MTP_messageMediaEmpty(); friend MTPmessageMedia MTP_messageMediaPhoto(const MTPPhoto &_photo); friend MTPmessageMedia MTP_messageMediaVideo(const MTPVideo &_video); friend MTPmessageMedia MTP_messageMediaGeo(const MTPGeoPoint &_geo); friend MTPmessageMedia MTP_messageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id); friend MTPmessageMedia MTP_messageMediaUnsupported(const MTPbytes &_bytes); friend MTPmessageMedia MTP_messageMediaDocument(const MTPDocument &_document); friend MTPmessageMedia MTP_messageMediaAudio(const MTPAudio &_audio); mtpTypeId _type; }; typedef MTPBoxed MTPMessageMedia; class MTPmessageAction : private mtpDataOwner { public: MTPmessageAction() : mtpDataOwner(0), _type(0) { } MTPmessageAction(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessageActionChatCreate &_messageActionChatCreate() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatCreate) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatCreate); split(); return *(MTPDmessageActionChatCreate*)data; } const MTPDmessageActionChatCreate &c_messageActionChatCreate() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatCreate) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatCreate); return *(const MTPDmessageActionChatCreate*)data; } MTPDmessageActionChatEditTitle &_messageActionChatEditTitle() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatEditTitle) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatEditTitle); split(); return *(MTPDmessageActionChatEditTitle*)data; } const MTPDmessageActionChatEditTitle &c_messageActionChatEditTitle() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatEditTitle) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatEditTitle); return *(const MTPDmessageActionChatEditTitle*)data; } MTPDmessageActionChatEditPhoto &_messageActionChatEditPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatEditPhoto) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatEditPhoto); split(); return *(MTPDmessageActionChatEditPhoto*)data; } const MTPDmessageActionChatEditPhoto &c_messageActionChatEditPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatEditPhoto) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatEditPhoto); return *(const MTPDmessageActionChatEditPhoto*)data; } MTPDmessageActionChatAddUser &_messageActionChatAddUser() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatAddUser) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatAddUser); split(); return *(MTPDmessageActionChatAddUser*)data; } const MTPDmessageActionChatAddUser &c_messageActionChatAddUser() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatAddUser) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatAddUser); return *(const MTPDmessageActionChatAddUser*)data; } MTPDmessageActionChatDeleteUser &_messageActionChatDeleteUser() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatDeleteUser) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatDeleteUser); split(); return *(MTPDmessageActionChatDeleteUser*)data; } const MTPDmessageActionChatDeleteUser &c_messageActionChatDeleteUser() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionChatDeleteUser) throw mtpErrorWrongTypeId(_type, mtpc_messageActionChatDeleteUser); return *(const MTPDmessageActionChatDeleteUser*)data; } MTPDmessageActionGeoChatCreate &_messageActionGeoChatCreate() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionGeoChatCreate) throw mtpErrorWrongTypeId(_type, mtpc_messageActionGeoChatCreate); split(); return *(MTPDmessageActionGeoChatCreate*)data; } const MTPDmessageActionGeoChatCreate &c_messageActionGeoChatCreate() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messageActionGeoChatCreate) throw mtpErrorWrongTypeId(_type, mtpc_messageActionGeoChatCreate); return *(const MTPDmessageActionGeoChatCreate*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessageAction(mtpTypeId type); explicit MTPmessageAction(MTPDmessageActionChatCreate *_data); explicit MTPmessageAction(MTPDmessageActionChatEditTitle *_data); explicit MTPmessageAction(MTPDmessageActionChatEditPhoto *_data); explicit MTPmessageAction(MTPDmessageActionChatAddUser *_data); explicit MTPmessageAction(MTPDmessageActionChatDeleteUser *_data); explicit MTPmessageAction(MTPDmessageActionGeoChatCreate *_data); friend MTPmessageAction MTP_messageActionEmpty(); friend MTPmessageAction MTP_messageActionChatCreate(const MTPstring &_title, const MTPVector &_users); friend MTPmessageAction MTP_messageActionChatEditTitle(const MTPstring &_title); friend MTPmessageAction MTP_messageActionChatEditPhoto(const MTPPhoto &_photo); friend MTPmessageAction MTP_messageActionChatDeletePhoto(); friend MTPmessageAction MTP_messageActionChatAddUser(MTPint _user_id); friend MTPmessageAction MTP_messageActionChatDeleteUser(MTPint _user_id); friend MTPmessageAction MTP_messageActionGeoChatCreate(const MTPstring &_title, const MTPstring &_address); friend MTPmessageAction MTP_messageActionGeoChatCheckin(); mtpTypeId _type; }; typedef MTPBoxed MTPMessageAction; class MTPdialog : private mtpDataOwner { public: MTPdialog(); MTPdialog(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_dialog) : mtpDataOwner(0) { read(from, end, cons); } MTPDdialog &_dialog() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDdialog*)data; } const MTPDdialog &c_dialog() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDdialog*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_dialog); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdialog(MTPDdialog *_data); friend MTPdialog MTP_dialog(const MTPPeer &_peer, MTPint _top_message, MTPint _unread_count, const MTPPeerNotifySettings &_notify_settings); }; typedef MTPBoxed MTPDialog; class MTPphoto : private mtpDataOwner { public: MTPphoto() : mtpDataOwner(0), _type(0) { } MTPphoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDphotoEmpty &_photoEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoEmpty) throw mtpErrorWrongTypeId(_type, mtpc_photoEmpty); split(); return *(MTPDphotoEmpty*)data; } const MTPDphotoEmpty &c_photoEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoEmpty) throw mtpErrorWrongTypeId(_type, mtpc_photoEmpty); return *(const MTPDphotoEmpty*)data; } MTPDphoto &_photo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photo) throw mtpErrorWrongTypeId(_type, mtpc_photo); split(); return *(MTPDphoto*)data; } const MTPDphoto &c_photo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photo) throw mtpErrorWrongTypeId(_type, mtpc_photo); return *(const MTPDphoto*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPphoto(mtpTypeId type); explicit MTPphoto(MTPDphotoEmpty *_data); explicit MTPphoto(MTPDphoto *_data); friend MTPphoto MTP_photoEmpty(const MTPlong &_id); friend MTPphoto MTP_photo(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, const MTPGeoPoint &_geo, const MTPVector &_sizes); mtpTypeId _type; }; typedef MTPBoxed MTPPhoto; class MTPphotoSize : private mtpDataOwner { public: MTPphotoSize() : mtpDataOwner(0), _type(0) { } MTPphotoSize(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDphotoSizeEmpty &_photoSizeEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoSizeEmpty) throw mtpErrorWrongTypeId(_type, mtpc_photoSizeEmpty); split(); return *(MTPDphotoSizeEmpty*)data; } const MTPDphotoSizeEmpty &c_photoSizeEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoSizeEmpty) throw mtpErrorWrongTypeId(_type, mtpc_photoSizeEmpty); return *(const MTPDphotoSizeEmpty*)data; } MTPDphotoSize &_photoSize() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoSize) throw mtpErrorWrongTypeId(_type, mtpc_photoSize); split(); return *(MTPDphotoSize*)data; } const MTPDphotoSize &c_photoSize() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoSize) throw mtpErrorWrongTypeId(_type, mtpc_photoSize); return *(const MTPDphotoSize*)data; } MTPDphotoCachedSize &_photoCachedSize() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoCachedSize) throw mtpErrorWrongTypeId(_type, mtpc_photoCachedSize); split(); return *(MTPDphotoCachedSize*)data; } const MTPDphotoCachedSize &c_photoCachedSize() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photoCachedSize) throw mtpErrorWrongTypeId(_type, mtpc_photoCachedSize); return *(const MTPDphotoCachedSize*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPphotoSize(mtpTypeId type); explicit MTPphotoSize(MTPDphotoSizeEmpty *_data); explicit MTPphotoSize(MTPDphotoSize *_data); explicit MTPphotoSize(MTPDphotoCachedSize *_data); friend MTPphotoSize MTP_photoSizeEmpty(const MTPstring &_type); friend MTPphotoSize MTP_photoSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, MTPint _size); friend MTPphotoSize MTP_photoCachedSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, const MTPbytes &_bytes); mtpTypeId _type; }; typedef MTPBoxed MTPPhotoSize; class MTPvideo : private mtpDataOwner { public: MTPvideo() : mtpDataOwner(0), _type(0) { } MTPvideo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDvideoEmpty &_videoEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_videoEmpty) throw mtpErrorWrongTypeId(_type, mtpc_videoEmpty); split(); return *(MTPDvideoEmpty*)data; } const MTPDvideoEmpty &c_videoEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_videoEmpty) throw mtpErrorWrongTypeId(_type, mtpc_videoEmpty); return *(const MTPDvideoEmpty*)data; } MTPDvideo &_video() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_video) throw mtpErrorWrongTypeId(_type, mtpc_video); split(); return *(MTPDvideo*)data; } const MTPDvideo &c_video() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_video) throw mtpErrorWrongTypeId(_type, mtpc_video); return *(const MTPDvideo*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPvideo(mtpTypeId type); explicit MTPvideo(MTPDvideoEmpty *_data); explicit MTPvideo(MTPDvideo *_data); friend MTPvideo MTP_videoEmpty(const MTPlong &_id); friend MTPvideo MTP_video(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id, MTPint _w, MTPint _h); mtpTypeId _type; }; typedef MTPBoxed MTPVideo; class MTPgeoPoint : private mtpDataOwner { public: MTPgeoPoint() : mtpDataOwner(0), _type(0) { } MTPgeoPoint(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDgeoPoint &_geoPoint() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoPoint) throw mtpErrorWrongTypeId(_type, mtpc_geoPoint); split(); return *(MTPDgeoPoint*)data; } const MTPDgeoPoint &c_geoPoint() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoPoint) throw mtpErrorWrongTypeId(_type, mtpc_geoPoint); return *(const MTPDgeoPoint*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPgeoPoint(mtpTypeId type); explicit MTPgeoPoint(MTPDgeoPoint *_data); friend MTPgeoPoint MTP_geoPointEmpty(); friend MTPgeoPoint MTP_geoPoint(const MTPdouble &_long, const MTPdouble &_lat); mtpTypeId _type; }; typedef MTPBoxed MTPGeoPoint; class MTPauth_checkedPhone : private mtpDataOwner { public: MTPauth_checkedPhone(); MTPauth_checkedPhone(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_checkedPhone) : mtpDataOwner(0) { read(from, end, cons); } MTPDauth_checkedPhone &_auth_checkedPhone() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDauth_checkedPhone*)data; } const MTPDauth_checkedPhone &c_auth_checkedPhone() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDauth_checkedPhone*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_checkedPhone); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPauth_checkedPhone(MTPDauth_checkedPhone *_data); friend MTPauth_checkedPhone MTP_auth_checkedPhone(MTPBool _phone_registered, MTPBool _phone_invited); }; typedef MTPBoxed MTPauth_CheckedPhone; class MTPauth_sentCode : private mtpDataOwner { public: MTPauth_sentCode(); MTPauth_sentCode(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sentCode) : mtpDataOwner(0) { read(from, end, cons); } MTPDauth_sentCode &_auth_sentCode() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDauth_sentCode*)data; } const MTPDauth_sentCode &c_auth_sentCode() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDauth_sentCode*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sentCode); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPauth_sentCode(MTPDauth_sentCode *_data); friend MTPauth_sentCode MTP_auth_sentCode(MTPBool _phone_registered, const MTPstring &_phone_code_hash, MTPint _send_call_timeout, MTPBool _is_password); }; typedef MTPBoxed MTPauth_SentCode; class MTPauth_authorization : private mtpDataOwner { public: MTPauth_authorization(); MTPauth_authorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_authorization) : mtpDataOwner(0) { read(from, end, cons); } MTPDauth_authorization &_auth_authorization() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDauth_authorization*)data; } const MTPDauth_authorization &c_auth_authorization() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDauth_authorization*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_authorization); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPauth_authorization(MTPDauth_authorization *_data); friend MTPauth_authorization MTP_auth_authorization(MTPint _expires, const MTPUser &_user); }; typedef MTPBoxed MTPauth_Authorization; class MTPauth_exportedAuthorization : private mtpDataOwner { public: MTPauth_exportedAuthorization(); MTPauth_exportedAuthorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_exportedAuthorization) : mtpDataOwner(0) { read(from, end, cons); } MTPDauth_exportedAuthorization &_auth_exportedAuthorization() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDauth_exportedAuthorization*)data; } const MTPDauth_exportedAuthorization &c_auth_exportedAuthorization() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDauth_exportedAuthorization*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_exportedAuthorization); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPauth_exportedAuthorization(MTPDauth_exportedAuthorization *_data); friend MTPauth_exportedAuthorization MTP_auth_exportedAuthorization(MTPint _id, const MTPbytes &_bytes); }; typedef MTPBoxed MTPauth_ExportedAuthorization; class MTPinputNotifyPeer : private mtpDataOwner { public: MTPinputNotifyPeer() : mtpDataOwner(0), _type(0) { } MTPinputNotifyPeer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputNotifyPeer &_inputNotifyPeer() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputNotifyPeer) throw mtpErrorWrongTypeId(_type, mtpc_inputNotifyPeer); split(); return *(MTPDinputNotifyPeer*)data; } const MTPDinputNotifyPeer &c_inputNotifyPeer() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputNotifyPeer) throw mtpErrorWrongTypeId(_type, mtpc_inputNotifyPeer); return *(const MTPDinputNotifyPeer*)data; } MTPDinputNotifyGeoChatPeer &_inputNotifyGeoChatPeer() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputNotifyGeoChatPeer) throw mtpErrorWrongTypeId(_type, mtpc_inputNotifyGeoChatPeer); split(); return *(MTPDinputNotifyGeoChatPeer*)data; } const MTPDinputNotifyGeoChatPeer &c_inputNotifyGeoChatPeer() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputNotifyGeoChatPeer) throw mtpErrorWrongTypeId(_type, mtpc_inputNotifyGeoChatPeer); return *(const MTPDinputNotifyGeoChatPeer*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputNotifyPeer(mtpTypeId type); explicit MTPinputNotifyPeer(MTPDinputNotifyPeer *_data); explicit MTPinputNotifyPeer(MTPDinputNotifyGeoChatPeer *_data); friend MTPinputNotifyPeer MTP_inputNotifyPeer(const MTPInputPeer &_peer); friend MTPinputNotifyPeer MTP_inputNotifyUsers(); friend MTPinputNotifyPeer MTP_inputNotifyChats(); friend MTPinputNotifyPeer MTP_inputNotifyAll(); friend MTPinputNotifyPeer MTP_inputNotifyGeoChatPeer(const MTPInputGeoChat &_peer); mtpTypeId _type; }; typedef MTPBoxed MTPInputNotifyPeer; class MTPinputPeerNotifyEvents { public: MTPinputPeerNotifyEvents() : _type(0) { } MTPinputPeerNotifyEvents(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : _type(0) { read(from, end, cons); } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputPeerNotifyEvents(mtpTypeId type); friend MTPinputPeerNotifyEvents MTP_inputPeerNotifyEventsEmpty(); friend MTPinputPeerNotifyEvents MTP_inputPeerNotifyEventsAll(); mtpTypeId _type; }; typedef MTPBoxed MTPInputPeerNotifyEvents; class MTPinputPeerNotifySettings : private mtpDataOwner { public: MTPinputPeerNotifySettings(); MTPinputPeerNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputPeerNotifySettings) : mtpDataOwner(0) { read(from, end, cons); } MTPDinputPeerNotifySettings &_inputPeerNotifySettings() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDinputPeerNotifySettings*)data; } const MTPDinputPeerNotifySettings &c_inputPeerNotifySettings() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDinputPeerNotifySettings*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputPeerNotifySettings); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputPeerNotifySettings(MTPDinputPeerNotifySettings *_data); friend MTPinputPeerNotifySettings MTP_inputPeerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask); }; typedef MTPBoxed MTPInputPeerNotifySettings; class MTPpeerNotifyEvents { public: MTPpeerNotifyEvents() : _type(0) { } MTPpeerNotifyEvents(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : _type(0) { read(from, end, cons); } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPpeerNotifyEvents(mtpTypeId type); friend MTPpeerNotifyEvents MTP_peerNotifyEventsEmpty(); friend MTPpeerNotifyEvents MTP_peerNotifyEventsAll(); mtpTypeId _type; }; typedef MTPBoxed MTPPeerNotifyEvents; class MTPpeerNotifySettings : private mtpDataOwner { public: MTPpeerNotifySettings() : mtpDataOwner(0), _type(0) { } MTPpeerNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDpeerNotifySettings &_peerNotifySettings() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerNotifySettings) throw mtpErrorWrongTypeId(_type, mtpc_peerNotifySettings); split(); return *(MTPDpeerNotifySettings*)data; } const MTPDpeerNotifySettings &c_peerNotifySettings() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_peerNotifySettings) throw mtpErrorWrongTypeId(_type, mtpc_peerNotifySettings); return *(const MTPDpeerNotifySettings*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPpeerNotifySettings(mtpTypeId type); explicit MTPpeerNotifySettings(MTPDpeerNotifySettings *_data); friend MTPpeerNotifySettings MTP_peerNotifySettingsEmpty(); friend MTPpeerNotifySettings MTP_peerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask); mtpTypeId _type; }; typedef MTPBoxed MTPPeerNotifySettings; class MTPwallPaper : private mtpDataOwner { public: MTPwallPaper() : mtpDataOwner(0), _type(0) { } MTPwallPaper(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDwallPaper &_wallPaper() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_wallPaper) throw mtpErrorWrongTypeId(_type, mtpc_wallPaper); split(); return *(MTPDwallPaper*)data; } const MTPDwallPaper &c_wallPaper() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_wallPaper) throw mtpErrorWrongTypeId(_type, mtpc_wallPaper); return *(const MTPDwallPaper*)data; } MTPDwallPaperSolid &_wallPaperSolid() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_wallPaperSolid) throw mtpErrorWrongTypeId(_type, mtpc_wallPaperSolid); split(); return *(MTPDwallPaperSolid*)data; } const MTPDwallPaperSolid &c_wallPaperSolid() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_wallPaperSolid) throw mtpErrorWrongTypeId(_type, mtpc_wallPaperSolid); return *(const MTPDwallPaperSolid*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPwallPaper(mtpTypeId type); explicit MTPwallPaper(MTPDwallPaper *_data); explicit MTPwallPaper(MTPDwallPaperSolid *_data); friend MTPwallPaper MTP_wallPaper(MTPint _id, const MTPstring &_title, const MTPVector &_sizes, MTPint _color); friend MTPwallPaper MTP_wallPaperSolid(MTPint _id, const MTPstring &_title, MTPint _bg_color, MTPint _color); mtpTypeId _type; }; typedef MTPBoxed MTPWallPaper; class MTPuserFull : private mtpDataOwner { public: MTPuserFull(); MTPuserFull(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_userFull) : mtpDataOwner(0) { read(from, end, cons); } MTPDuserFull &_userFull() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDuserFull*)data; } const MTPDuserFull &c_userFull() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDuserFull*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_userFull); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPuserFull(MTPDuserFull *_data); friend MTPuserFull MTP_userFull(const MTPUser &_user, const MTPcontacts_Link &_link, const MTPPhoto &_profile_photo, const MTPPeerNotifySettings &_notify_settings, MTPBool _blocked, const MTPstring &_real_first_name, const MTPstring &_real_last_name); }; typedef MTPBoxed MTPUserFull; class MTPcontact : private mtpDataOwner { public: MTPcontact(); MTPcontact(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contact) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontact &_contact() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontact*)data; } const MTPDcontact &c_contact() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontact*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contact); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontact(MTPDcontact *_data); friend MTPcontact MTP_contact(MTPint _user_id, MTPBool _mutual); }; typedef MTPBoxed MTPContact; class MTPimportedContact : private mtpDataOwner { public: MTPimportedContact(); MTPimportedContact(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_importedContact) : mtpDataOwner(0) { read(from, end, cons); } MTPDimportedContact &_importedContact() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDimportedContact*)data; } const MTPDimportedContact &c_importedContact() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDimportedContact*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_importedContact); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPimportedContact(MTPDimportedContact *_data); friend MTPimportedContact MTP_importedContact(MTPint _user_id, const MTPlong &_client_id); }; typedef MTPBoxed MTPImportedContact; class MTPcontactBlocked : private mtpDataOwner { public: MTPcontactBlocked(); MTPcontactBlocked(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactBlocked) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontactBlocked &_contactBlocked() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontactBlocked*)data; } const MTPDcontactBlocked &c_contactBlocked() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontactBlocked*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactBlocked); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontactBlocked(MTPDcontactBlocked *_data); friend MTPcontactBlocked MTP_contactBlocked(MTPint _user_id, MTPint _date); }; typedef MTPBoxed MTPContactBlocked; class MTPcontactFound : private mtpDataOwner { public: MTPcontactFound(); MTPcontactFound(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactFound) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontactFound &_contactFound() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontactFound*)data; } const MTPDcontactFound &c_contactFound() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontactFound*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactFound); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontactFound(MTPDcontactFound *_data); friend MTPcontactFound MTP_contactFound(MTPint _user_id); }; typedef MTPBoxed MTPContactFound; class MTPcontactSuggested : private mtpDataOwner { public: MTPcontactSuggested(); MTPcontactSuggested(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactSuggested) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontactSuggested &_contactSuggested() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontactSuggested*)data; } const MTPDcontactSuggested &c_contactSuggested() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontactSuggested*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactSuggested); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontactSuggested(MTPDcontactSuggested *_data); friend MTPcontactSuggested MTP_contactSuggested(MTPint _user_id, MTPint _mutual_contacts); }; typedef MTPBoxed MTPContactSuggested; class MTPcontactStatus : private mtpDataOwner { public: MTPcontactStatus(); MTPcontactStatus(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactStatus) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontactStatus &_contactStatus() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontactStatus*)data; } const MTPDcontactStatus &c_contactStatus() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontactStatus*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contactStatus); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontactStatus(MTPDcontactStatus *_data); friend MTPcontactStatus MTP_contactStatus(MTPint _user_id, MTPint _expires); }; typedef MTPBoxed MTPContactStatus; class MTPchatLocated : private mtpDataOwner { public: MTPchatLocated(); MTPchatLocated(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatLocated) : mtpDataOwner(0) { read(from, end, cons); } MTPDchatLocated &_chatLocated() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDchatLocated*)data; } const MTPDchatLocated &c_chatLocated() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDchatLocated*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_chatLocated); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPchatLocated(MTPDchatLocated *_data); friend MTPchatLocated MTP_chatLocated(MTPint _chat_id, MTPint _distance); }; typedef MTPBoxed MTPChatLocated; class MTPcontacts_foreignLink : private mtpDataOwner { public: MTPcontacts_foreignLink() : mtpDataOwner(0), _type(0) { } MTPcontacts_foreignLink(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDcontacts_foreignLinkRequested &_contacts_foreignLinkRequested() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_foreignLinkRequested) throw mtpErrorWrongTypeId(_type, mtpc_contacts_foreignLinkRequested); split(); return *(MTPDcontacts_foreignLinkRequested*)data; } const MTPDcontacts_foreignLinkRequested &c_contacts_foreignLinkRequested() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_foreignLinkRequested) throw mtpErrorWrongTypeId(_type, mtpc_contacts_foreignLinkRequested); return *(const MTPDcontacts_foreignLinkRequested*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_foreignLink(mtpTypeId type); explicit MTPcontacts_foreignLink(MTPDcontacts_foreignLinkRequested *_data); friend MTPcontacts_foreignLink MTP_contacts_foreignLinkUnknown(); friend MTPcontacts_foreignLink MTP_contacts_foreignLinkRequested(MTPBool _has_phone); friend MTPcontacts_foreignLink MTP_contacts_foreignLinkMutual(); mtpTypeId _type; }; typedef MTPBoxed MTPcontacts_ForeignLink; class MTPcontacts_myLink : private mtpDataOwner { public: MTPcontacts_myLink() : mtpDataOwner(0), _type(0) { } MTPcontacts_myLink(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDcontacts_myLinkRequested &_contacts_myLinkRequested() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_myLinkRequested) throw mtpErrorWrongTypeId(_type, mtpc_contacts_myLinkRequested); split(); return *(MTPDcontacts_myLinkRequested*)data; } const MTPDcontacts_myLinkRequested &c_contacts_myLinkRequested() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_myLinkRequested) throw mtpErrorWrongTypeId(_type, mtpc_contacts_myLinkRequested); return *(const MTPDcontacts_myLinkRequested*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_myLink(mtpTypeId type); explicit MTPcontacts_myLink(MTPDcontacts_myLinkRequested *_data); friend MTPcontacts_myLink MTP_contacts_myLinkEmpty(); friend MTPcontacts_myLink MTP_contacts_myLinkRequested(MTPBool _contact); friend MTPcontacts_myLink MTP_contacts_myLinkContact(); mtpTypeId _type; }; typedef MTPBoxed MTPcontacts_MyLink; class MTPcontacts_link : private mtpDataOwner { public: MTPcontacts_link(); MTPcontacts_link(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_link) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontacts_link &_contacts_link() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontacts_link*)data; } const MTPDcontacts_link &c_contacts_link() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontacts_link*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_link); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_link(MTPDcontacts_link *_data); friend MTPcontacts_link MTP_contacts_link(const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link, const MTPUser &_user); }; typedef MTPBoxed MTPcontacts_Link; class MTPcontacts_contacts : private mtpDataOwner { public: MTPcontacts_contacts() : mtpDataOwner(0), _type(0) { } MTPcontacts_contacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDcontacts_contacts &_contacts_contacts() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_contacts) throw mtpErrorWrongTypeId(_type, mtpc_contacts_contacts); split(); return *(MTPDcontacts_contacts*)data; } const MTPDcontacts_contacts &c_contacts_contacts() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_contacts) throw mtpErrorWrongTypeId(_type, mtpc_contacts_contacts); return *(const MTPDcontacts_contacts*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_contacts(mtpTypeId type); explicit MTPcontacts_contacts(MTPDcontacts_contacts *_data); friend MTPcontacts_contacts MTP_contacts_contacts(const MTPVector &_contacts, const MTPVector &_users); friend MTPcontacts_contacts MTP_contacts_contactsNotModified(); mtpTypeId _type; }; typedef MTPBoxed MTPcontacts_Contacts; class MTPcontacts_importedContacts : private mtpDataOwner { public: MTPcontacts_importedContacts(); MTPcontacts_importedContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_importedContacts) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontacts_importedContacts &_contacts_importedContacts() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontacts_importedContacts*)data; } const MTPDcontacts_importedContacts &c_contacts_importedContacts() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontacts_importedContacts*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_importedContacts); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_importedContacts(MTPDcontacts_importedContacts *_data); friend MTPcontacts_importedContacts MTP_contacts_importedContacts(const MTPVector &_imported, const MTPVector &_retry_contacts, const MTPVector &_users); }; typedef MTPBoxed MTPcontacts_ImportedContacts; class MTPcontacts_blocked : private mtpDataOwner { public: MTPcontacts_blocked() : mtpDataOwner(0), _type(0) { } MTPcontacts_blocked(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDcontacts_blocked &_contacts_blocked() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_blocked) throw mtpErrorWrongTypeId(_type, mtpc_contacts_blocked); split(); return *(MTPDcontacts_blocked*)data; } const MTPDcontacts_blocked &c_contacts_blocked() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_blocked) throw mtpErrorWrongTypeId(_type, mtpc_contacts_blocked); return *(const MTPDcontacts_blocked*)data; } MTPDcontacts_blockedSlice &_contacts_blockedSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_blockedSlice) throw mtpErrorWrongTypeId(_type, mtpc_contacts_blockedSlice); split(); return *(MTPDcontacts_blockedSlice*)data; } const MTPDcontacts_blockedSlice &c_contacts_blockedSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_contacts_blockedSlice) throw mtpErrorWrongTypeId(_type, mtpc_contacts_blockedSlice); return *(const MTPDcontacts_blockedSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_blocked(mtpTypeId type); explicit MTPcontacts_blocked(MTPDcontacts_blocked *_data); explicit MTPcontacts_blocked(MTPDcontacts_blockedSlice *_data); friend MTPcontacts_blocked MTP_contacts_blocked(const MTPVector &_blocked, const MTPVector &_users); friend MTPcontacts_blocked MTP_contacts_blockedSlice(MTPint _count, const MTPVector &_blocked, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPcontacts_Blocked; class MTPcontacts_found : private mtpDataOwner { public: MTPcontacts_found(); MTPcontacts_found(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_found) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontacts_found &_contacts_found() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontacts_found*)data; } const MTPDcontacts_found &c_contacts_found() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontacts_found*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_found); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_found(MTPDcontacts_found *_data); friend MTPcontacts_found MTP_contacts_found(const MTPVector &_results, const MTPVector &_users); }; typedef MTPBoxed MTPcontacts_Found; class MTPcontacts_suggested : private mtpDataOwner { public: MTPcontacts_suggested(); MTPcontacts_suggested(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_suggested) : mtpDataOwner(0) { read(from, end, cons); } MTPDcontacts_suggested &_contacts_suggested() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDcontacts_suggested*)data; } const MTPDcontacts_suggested &c_contacts_suggested() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDcontacts_suggested*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_suggested); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPcontacts_suggested(MTPDcontacts_suggested *_data); friend MTPcontacts_suggested MTP_contacts_suggested(const MTPVector &_results, const MTPVector &_users); }; typedef MTPBoxed MTPcontacts_Suggested; class MTPmessages_dialogs : private mtpDataOwner { public: MTPmessages_dialogs() : mtpDataOwner(0), _type(0) { } MTPmessages_dialogs(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_dialogs &_messages_dialogs() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dialogs) throw mtpErrorWrongTypeId(_type, mtpc_messages_dialogs); split(); return *(MTPDmessages_dialogs*)data; } const MTPDmessages_dialogs &c_messages_dialogs() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dialogs) throw mtpErrorWrongTypeId(_type, mtpc_messages_dialogs); return *(const MTPDmessages_dialogs*)data; } MTPDmessages_dialogsSlice &_messages_dialogsSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dialogsSlice) throw mtpErrorWrongTypeId(_type, mtpc_messages_dialogsSlice); split(); return *(MTPDmessages_dialogsSlice*)data; } const MTPDmessages_dialogsSlice &c_messages_dialogsSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dialogsSlice) throw mtpErrorWrongTypeId(_type, mtpc_messages_dialogsSlice); return *(const MTPDmessages_dialogsSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_dialogs(mtpTypeId type); explicit MTPmessages_dialogs(MTPDmessages_dialogs *_data); explicit MTPmessages_dialogs(MTPDmessages_dialogsSlice *_data); friend MTPmessages_dialogs MTP_messages_dialogs(const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); friend MTPmessages_dialogs MTP_messages_dialogsSlice(MTPint _count, const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_Dialogs; class MTPmessages_messages : private mtpDataOwner { public: MTPmessages_messages() : mtpDataOwner(0), _type(0) { } MTPmessages_messages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_messages &_messages_messages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_messages) throw mtpErrorWrongTypeId(_type, mtpc_messages_messages); split(); return *(MTPDmessages_messages*)data; } const MTPDmessages_messages &c_messages_messages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_messages) throw mtpErrorWrongTypeId(_type, mtpc_messages_messages); return *(const MTPDmessages_messages*)data; } MTPDmessages_messagesSlice &_messages_messagesSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_messagesSlice) throw mtpErrorWrongTypeId(_type, mtpc_messages_messagesSlice); split(); return *(MTPDmessages_messagesSlice*)data; } const MTPDmessages_messagesSlice &c_messages_messagesSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_messagesSlice) throw mtpErrorWrongTypeId(_type, mtpc_messages_messagesSlice); return *(const MTPDmessages_messagesSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_messages(mtpTypeId type); explicit MTPmessages_messages(MTPDmessages_messages *_data); explicit MTPmessages_messages(MTPDmessages_messagesSlice *_data); friend MTPmessages_messages MTP_messages_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); friend MTPmessages_messages MTP_messages_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_Messages; class MTPmessages_message : private mtpDataOwner { public: MTPmessages_message() : mtpDataOwner(0), _type(0) { } MTPmessages_message(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_message &_messages_message() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_message) throw mtpErrorWrongTypeId(_type, mtpc_messages_message); split(); return *(MTPDmessages_message*)data; } const MTPDmessages_message &c_messages_message() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_message) throw mtpErrorWrongTypeId(_type, mtpc_messages_message); return *(const MTPDmessages_message*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_message(mtpTypeId type); explicit MTPmessages_message(MTPDmessages_message *_data); friend MTPmessages_message MTP_messages_messageEmpty(); friend MTPmessages_message MTP_messages_message(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_Message; class MTPmessages_statedMessages : private mtpDataOwner { public: MTPmessages_statedMessages() : mtpDataOwner(0), _type(0) { } MTPmessages_statedMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_statedMessages &_messages_statedMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessages) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessages); split(); return *(MTPDmessages_statedMessages*)data; } const MTPDmessages_statedMessages &c_messages_statedMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessages) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessages); return *(const MTPDmessages_statedMessages*)data; } MTPDmessages_statedMessagesLinks &_messages_statedMessagesLinks() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessagesLinks) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessagesLinks); split(); return *(MTPDmessages_statedMessagesLinks*)data; } const MTPDmessages_statedMessagesLinks &c_messages_statedMessagesLinks() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessagesLinks) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessagesLinks); return *(const MTPDmessages_statedMessagesLinks*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_statedMessages(mtpTypeId type); explicit MTPmessages_statedMessages(MTPDmessages_statedMessages *_data); explicit MTPmessages_statedMessages(MTPDmessages_statedMessagesLinks *_data); friend MTPmessages_statedMessages MTP_messages_statedMessages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq); friend MTPmessages_statedMessages MTP_messages_statedMessagesLinks(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_StatedMessages; class MTPmessages_statedMessage : private mtpDataOwner { public: MTPmessages_statedMessage() : mtpDataOwner(0), _type(0) { } MTPmessages_statedMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_statedMessage &_messages_statedMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessage); split(); return *(MTPDmessages_statedMessage*)data; } const MTPDmessages_statedMessage &c_messages_statedMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessage); return *(const MTPDmessages_statedMessage*)data; } MTPDmessages_statedMessageLink &_messages_statedMessageLink() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessageLink) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessageLink); split(); return *(MTPDmessages_statedMessageLink*)data; } const MTPDmessages_statedMessageLink &c_messages_statedMessageLink() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_statedMessageLink) throw mtpErrorWrongTypeId(_type, mtpc_messages_statedMessageLink); return *(const MTPDmessages_statedMessageLink*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_statedMessage(mtpTypeId type); explicit MTPmessages_statedMessage(MTPDmessages_statedMessage *_data); explicit MTPmessages_statedMessage(MTPDmessages_statedMessageLink *_data); friend MTPmessages_statedMessage MTP_messages_statedMessage(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq); friend MTPmessages_statedMessage MTP_messages_statedMessageLink(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_StatedMessage; class MTPmessages_sentMessage : private mtpDataOwner { public: MTPmessages_sentMessage() : mtpDataOwner(0), _type(0) { } MTPmessages_sentMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_sentMessage &_messages_sentMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentMessage); split(); return *(MTPDmessages_sentMessage*)data; } const MTPDmessages_sentMessage &c_messages_sentMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentMessage); return *(const MTPDmessages_sentMessage*)data; } MTPDmessages_sentMessageLink &_messages_sentMessageLink() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentMessageLink) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentMessageLink); split(); return *(MTPDmessages_sentMessageLink*)data; } const MTPDmessages_sentMessageLink &c_messages_sentMessageLink() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentMessageLink) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentMessageLink); return *(const MTPDmessages_sentMessageLink*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_sentMessage(mtpTypeId type); explicit MTPmessages_sentMessage(MTPDmessages_sentMessage *_data); explicit MTPmessages_sentMessage(MTPDmessages_sentMessageLink *_data); friend MTPmessages_sentMessage MTP_messages_sentMessage(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq); friend MTPmessages_sentMessage MTP_messages_sentMessageLink(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq, const MTPVector &_links); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_SentMessage; class MTPmessages_chat : private mtpDataOwner { public: MTPmessages_chat(); MTPmessages_chat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chat) : mtpDataOwner(0) { read(from, end, cons); } MTPDmessages_chat &_messages_chat() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmessages_chat*)data; } const MTPDmessages_chat &c_messages_chat() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmessages_chat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chat); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_chat(MTPDmessages_chat *_data); friend MTPmessages_chat MTP_messages_chat(const MTPChat &_chat, const MTPVector &_users); }; typedef MTPBoxed MTPmessages_Chat; class MTPmessages_chats : private mtpDataOwner { public: MTPmessages_chats(); MTPmessages_chats(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chats) : mtpDataOwner(0) { read(from, end, cons); } MTPDmessages_chats &_messages_chats() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmessages_chats*)data; } const MTPDmessages_chats &c_messages_chats() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmessages_chats*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chats); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_chats(MTPDmessages_chats *_data); friend MTPmessages_chats MTP_messages_chats(const MTPVector &_chats, const MTPVector &_users); }; typedef MTPBoxed MTPmessages_Chats; class MTPmessages_chatFull : private mtpDataOwner { public: MTPmessages_chatFull(); MTPmessages_chatFull(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chatFull) : mtpDataOwner(0) { read(from, end, cons); } MTPDmessages_chatFull &_messages_chatFull() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmessages_chatFull*)data; } const MTPDmessages_chatFull &c_messages_chatFull() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmessages_chatFull*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_chatFull); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_chatFull(MTPDmessages_chatFull *_data); friend MTPmessages_chatFull MTP_messages_chatFull(const MTPChatFull &_full_chat, const MTPVector &_chats, const MTPVector &_users); }; typedef MTPBoxed MTPmessages_ChatFull; class MTPmessages_affectedHistory : private mtpDataOwner { public: MTPmessages_affectedHistory(); MTPmessages_affectedHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_affectedHistory) : mtpDataOwner(0) { read(from, end, cons); } MTPDmessages_affectedHistory &_messages_affectedHistory() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDmessages_affectedHistory*)data; } const MTPDmessages_affectedHistory &c_messages_affectedHistory() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDmessages_affectedHistory*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_affectedHistory); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_affectedHistory(MTPDmessages_affectedHistory *_data); friend MTPmessages_affectedHistory MTP_messages_affectedHistory(MTPint _pts, MTPint _seq, MTPint _offset); }; typedef MTPBoxed MTPmessages_AffectedHistory; class MTPmessagesFilter { public: MTPmessagesFilter() : _type(0) { } MTPmessagesFilter(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : _type(0) { read(from, end, cons); } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessagesFilter(mtpTypeId type); friend MTPmessagesFilter MTP_inputMessagesFilterEmpty(); friend MTPmessagesFilter MTP_inputMessagesFilterPhotos(); friend MTPmessagesFilter MTP_inputMessagesFilterVideo(); friend MTPmessagesFilter MTP_inputMessagesFilterPhotoVideo(); friend MTPmessagesFilter MTP_inputMessagesFilterDocument(); friend MTPmessagesFilter MTP_inputMessagesFilterAudio(); mtpTypeId _type; }; typedef MTPBoxed MTPMessagesFilter; class MTPupdate : private mtpDataOwner { public: MTPupdate() : mtpDataOwner(0), _type(0) { } MTPupdate(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDupdateNewMessage &_updateNewMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewMessage); split(); return *(MTPDupdateNewMessage*)data; } const MTPDupdateNewMessage &c_updateNewMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewMessage); return *(const MTPDupdateNewMessage*)data; } MTPDupdateMessageID &_updateMessageID() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateMessageID) throw mtpErrorWrongTypeId(_type, mtpc_updateMessageID); split(); return *(MTPDupdateMessageID*)data; } const MTPDupdateMessageID &c_updateMessageID() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateMessageID) throw mtpErrorWrongTypeId(_type, mtpc_updateMessageID); return *(const MTPDupdateMessageID*)data; } MTPDupdateReadMessages &_updateReadMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateReadMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateReadMessages); split(); return *(MTPDupdateReadMessages*)data; } const MTPDupdateReadMessages &c_updateReadMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateReadMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateReadMessages); return *(const MTPDupdateReadMessages*)data; } MTPDupdateDeleteMessages &_updateDeleteMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateDeleteMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateDeleteMessages); split(); return *(MTPDupdateDeleteMessages*)data; } const MTPDupdateDeleteMessages &c_updateDeleteMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateDeleteMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateDeleteMessages); return *(const MTPDupdateDeleteMessages*)data; } MTPDupdateRestoreMessages &_updateRestoreMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateRestoreMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateRestoreMessages); split(); return *(MTPDupdateRestoreMessages*)data; } const MTPDupdateRestoreMessages &c_updateRestoreMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateRestoreMessages) throw mtpErrorWrongTypeId(_type, mtpc_updateRestoreMessages); return *(const MTPDupdateRestoreMessages*)data; } MTPDupdateUserTyping &_updateUserTyping() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateUserTyping); split(); return *(MTPDupdateUserTyping*)data; } const MTPDupdateUserTyping &c_updateUserTyping() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateUserTyping); return *(const MTPDupdateUserTyping*)data; } MTPDupdateChatUserTyping &_updateChatUserTyping() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatUserTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateChatUserTyping); split(); return *(MTPDupdateChatUserTyping*)data; } const MTPDupdateChatUserTyping &c_updateChatUserTyping() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatUserTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateChatUserTyping); return *(const MTPDupdateChatUserTyping*)data; } MTPDupdateChatParticipants &_updateChatParticipants() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipants) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipants); split(); return *(MTPDupdateChatParticipants*)data; } const MTPDupdateChatParticipants &c_updateChatParticipants() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipants) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipants); return *(const MTPDupdateChatParticipants*)data; } MTPDupdateUserStatus &_updateUserStatus() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserStatus) throw mtpErrorWrongTypeId(_type, mtpc_updateUserStatus); split(); return *(MTPDupdateUserStatus*)data; } const MTPDupdateUserStatus &c_updateUserStatus() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserStatus) throw mtpErrorWrongTypeId(_type, mtpc_updateUserStatus); return *(const MTPDupdateUserStatus*)data; } MTPDupdateUserName &_updateUserName() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserName) throw mtpErrorWrongTypeId(_type, mtpc_updateUserName); split(); return *(MTPDupdateUserName*)data; } const MTPDupdateUserName &c_updateUserName() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserName) throw mtpErrorWrongTypeId(_type, mtpc_updateUserName); return *(const MTPDupdateUserName*)data; } MTPDupdateUserPhoto &_updateUserPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserPhoto) throw mtpErrorWrongTypeId(_type, mtpc_updateUserPhoto); split(); return *(MTPDupdateUserPhoto*)data; } const MTPDupdateUserPhoto &c_updateUserPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserPhoto) throw mtpErrorWrongTypeId(_type, mtpc_updateUserPhoto); return *(const MTPDupdateUserPhoto*)data; } MTPDupdateContactRegistered &_updateContactRegistered() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateContactRegistered) throw mtpErrorWrongTypeId(_type, mtpc_updateContactRegistered); split(); return *(MTPDupdateContactRegistered*)data; } const MTPDupdateContactRegistered &c_updateContactRegistered() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateContactRegistered) throw mtpErrorWrongTypeId(_type, mtpc_updateContactRegistered); return *(const MTPDupdateContactRegistered*)data; } MTPDupdateContactLink &_updateContactLink() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateContactLink) throw mtpErrorWrongTypeId(_type, mtpc_updateContactLink); split(); return *(MTPDupdateContactLink*)data; } const MTPDupdateContactLink &c_updateContactLink() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateContactLink) throw mtpErrorWrongTypeId(_type, mtpc_updateContactLink); return *(const MTPDupdateContactLink*)data; } MTPDupdateActivation &_updateActivation() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateActivation) throw mtpErrorWrongTypeId(_type, mtpc_updateActivation); split(); return *(MTPDupdateActivation*)data; } const MTPDupdateActivation &c_updateActivation() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateActivation) throw mtpErrorWrongTypeId(_type, mtpc_updateActivation); return *(const MTPDupdateActivation*)data; } MTPDupdateNewAuthorization &_updateNewAuthorization() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewAuthorization) throw mtpErrorWrongTypeId(_type, mtpc_updateNewAuthorization); split(); return *(MTPDupdateNewAuthorization*)data; } const MTPDupdateNewAuthorization &c_updateNewAuthorization() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewAuthorization) throw mtpErrorWrongTypeId(_type, mtpc_updateNewAuthorization); return *(const MTPDupdateNewAuthorization*)data; } MTPDupdateNewGeoChatMessage &_updateNewGeoChatMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewGeoChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewGeoChatMessage); split(); return *(MTPDupdateNewGeoChatMessage*)data; } const MTPDupdateNewGeoChatMessage &c_updateNewGeoChatMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewGeoChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewGeoChatMessage); return *(const MTPDupdateNewGeoChatMessage*)data; } MTPDupdateNewEncryptedMessage &_updateNewEncryptedMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewEncryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewEncryptedMessage); split(); return *(MTPDupdateNewEncryptedMessage*)data; } const MTPDupdateNewEncryptedMessage &c_updateNewEncryptedMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNewEncryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateNewEncryptedMessage); return *(const MTPDupdateNewEncryptedMessage*)data; } MTPDupdateEncryptedChatTyping &_updateEncryptedChatTyping() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryptedChatTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryptedChatTyping); split(); return *(MTPDupdateEncryptedChatTyping*)data; } const MTPDupdateEncryptedChatTyping &c_updateEncryptedChatTyping() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryptedChatTyping) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryptedChatTyping); return *(const MTPDupdateEncryptedChatTyping*)data; } MTPDupdateEncryption &_updateEncryption() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryption) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryption); split(); return *(MTPDupdateEncryption*)data; } const MTPDupdateEncryption &c_updateEncryption() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryption) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryption); return *(const MTPDupdateEncryption*)data; } MTPDupdateEncryptedMessagesRead &_updateEncryptedMessagesRead() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryptedMessagesRead) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryptedMessagesRead); split(); return *(MTPDupdateEncryptedMessagesRead*)data; } const MTPDupdateEncryptedMessagesRead &c_updateEncryptedMessagesRead() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateEncryptedMessagesRead) throw mtpErrorWrongTypeId(_type, mtpc_updateEncryptedMessagesRead); return *(const MTPDupdateEncryptedMessagesRead*)data; } MTPDupdateChatParticipantAdd &_updateChatParticipantAdd() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipantAdd) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipantAdd); split(); return *(MTPDupdateChatParticipantAdd*)data; } const MTPDupdateChatParticipantAdd &c_updateChatParticipantAdd() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipantAdd) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipantAdd); return *(const MTPDupdateChatParticipantAdd*)data; } MTPDupdateChatParticipantDelete &_updateChatParticipantDelete() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipantDelete) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipantDelete); split(); return *(MTPDupdateChatParticipantDelete*)data; } const MTPDupdateChatParticipantDelete &c_updateChatParticipantDelete() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateChatParticipantDelete) throw mtpErrorWrongTypeId(_type, mtpc_updateChatParticipantDelete); return *(const MTPDupdateChatParticipantDelete*)data; } MTPDupdateDcOptions &_updateDcOptions() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateDcOptions) throw mtpErrorWrongTypeId(_type, mtpc_updateDcOptions); split(); return *(MTPDupdateDcOptions*)data; } const MTPDupdateDcOptions &c_updateDcOptions() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateDcOptions) throw mtpErrorWrongTypeId(_type, mtpc_updateDcOptions); return *(const MTPDupdateDcOptions*)data; } MTPDupdateUserBlocked &_updateUserBlocked() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserBlocked) throw mtpErrorWrongTypeId(_type, mtpc_updateUserBlocked); split(); return *(MTPDupdateUserBlocked*)data; } const MTPDupdateUserBlocked &c_updateUserBlocked() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateUserBlocked) throw mtpErrorWrongTypeId(_type, mtpc_updateUserBlocked); return *(const MTPDupdateUserBlocked*)data; } MTPDupdateNotifySettings &_updateNotifySettings() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNotifySettings) throw mtpErrorWrongTypeId(_type, mtpc_updateNotifySettings); split(); return *(MTPDupdateNotifySettings*)data; } const MTPDupdateNotifySettings &c_updateNotifySettings() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateNotifySettings) throw mtpErrorWrongTypeId(_type, mtpc_updateNotifySettings); return *(const MTPDupdateNotifySettings*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPupdate(mtpTypeId type); explicit MTPupdate(MTPDupdateNewMessage *_data); explicit MTPupdate(MTPDupdateMessageID *_data); explicit MTPupdate(MTPDupdateReadMessages *_data); explicit MTPupdate(MTPDupdateDeleteMessages *_data); explicit MTPupdate(MTPDupdateRestoreMessages *_data); explicit MTPupdate(MTPDupdateUserTyping *_data); explicit MTPupdate(MTPDupdateChatUserTyping *_data); explicit MTPupdate(MTPDupdateChatParticipants *_data); explicit MTPupdate(MTPDupdateUserStatus *_data); explicit MTPupdate(MTPDupdateUserName *_data); explicit MTPupdate(MTPDupdateUserPhoto *_data); explicit MTPupdate(MTPDupdateContactRegistered *_data); explicit MTPupdate(MTPDupdateContactLink *_data); explicit MTPupdate(MTPDupdateActivation *_data); explicit MTPupdate(MTPDupdateNewAuthorization *_data); explicit MTPupdate(MTPDupdateNewGeoChatMessage *_data); explicit MTPupdate(MTPDupdateNewEncryptedMessage *_data); explicit MTPupdate(MTPDupdateEncryptedChatTyping *_data); explicit MTPupdate(MTPDupdateEncryption *_data); explicit MTPupdate(MTPDupdateEncryptedMessagesRead *_data); explicit MTPupdate(MTPDupdateChatParticipantAdd *_data); explicit MTPupdate(MTPDupdateChatParticipantDelete *_data); explicit MTPupdate(MTPDupdateDcOptions *_data); explicit MTPupdate(MTPDupdateUserBlocked *_data); explicit MTPupdate(MTPDupdateNotifySettings *_data); friend MTPupdate MTP_updateNewMessage(const MTPMessage &_message, MTPint _pts); friend MTPupdate MTP_updateMessageID(MTPint _id, const MTPlong &_random_id); friend MTPupdate MTP_updateReadMessages(const MTPVector &_messages, MTPint _pts); friend MTPupdate MTP_updateDeleteMessages(const MTPVector &_messages, MTPint _pts); friend MTPupdate MTP_updateRestoreMessages(const MTPVector &_messages, MTPint _pts); friend MTPupdate MTP_updateUserTyping(MTPint _user_id); friend MTPupdate MTP_updateChatUserTyping(MTPint _chat_id, MTPint _user_id); friend MTPupdate MTP_updateChatParticipants(const MTPChatParticipants &_participants); friend MTPupdate MTP_updateUserStatus(MTPint _user_id, const MTPUserStatus &_status); friend MTPupdate MTP_updateUserName(MTPint _user_id, const MTPstring &_first_name, const MTPstring &_last_name); friend MTPupdate MTP_updateUserPhoto(MTPint _user_id, MTPint _date, const MTPUserProfilePhoto &_photo, MTPBool _previous); friend MTPupdate MTP_updateContactRegistered(MTPint _user_id, MTPint _date); friend MTPupdate MTP_updateContactLink(MTPint _user_id, const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link); friend MTPupdate MTP_updateActivation(MTPint _user_id); friend MTPupdate MTP_updateNewAuthorization(const MTPlong &_auth_key_id, MTPint _date, const MTPstring &_device, const MTPstring &_location); friend MTPupdate MTP_updateNewGeoChatMessage(const MTPGeoChatMessage &_message); friend MTPupdate MTP_updateNewEncryptedMessage(const MTPEncryptedMessage &_message, MTPint _qts); friend MTPupdate MTP_updateEncryptedChatTyping(MTPint _chat_id); friend MTPupdate MTP_updateEncryption(const MTPEncryptedChat &_chat, MTPint _date); friend MTPupdate MTP_updateEncryptedMessagesRead(MTPint _chat_id, MTPint _max_date, MTPint _date); friend MTPupdate MTP_updateChatParticipantAdd(MTPint _chat_id, MTPint _user_id, MTPint _inviter_id, MTPint _version); friend MTPupdate MTP_updateChatParticipantDelete(MTPint _chat_id, MTPint _user_id, MTPint _version); friend MTPupdate MTP_updateDcOptions(const MTPVector &_dc_options); friend MTPupdate MTP_updateUserBlocked(MTPint _user_id, MTPBool _blocked); friend MTPupdate MTP_updateNotifySettings(const MTPNotifyPeer &_peer, const MTPPeerNotifySettings &_notify_settings); mtpTypeId _type; }; typedef MTPBoxed MTPUpdate; class MTPupdates_state : private mtpDataOwner { public: MTPupdates_state(); MTPupdates_state(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_state) : mtpDataOwner(0) { read(from, end, cons); } MTPDupdates_state &_updates_state() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDupdates_state*)data; } const MTPDupdates_state &c_updates_state() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDupdates_state*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_state); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPupdates_state(MTPDupdates_state *_data); friend MTPupdates_state MTP_updates_state(MTPint _pts, MTPint _qts, MTPint _date, MTPint _seq, MTPint _unread_count); }; typedef MTPBoxed MTPupdates_State; class MTPupdates_difference : private mtpDataOwner { public: MTPupdates_difference() : mtpDataOwner(0), _type(0) { } MTPupdates_difference(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDupdates_differenceEmpty &_updates_differenceEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_differenceEmpty) throw mtpErrorWrongTypeId(_type, mtpc_updates_differenceEmpty); split(); return *(MTPDupdates_differenceEmpty*)data; } const MTPDupdates_differenceEmpty &c_updates_differenceEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_differenceEmpty) throw mtpErrorWrongTypeId(_type, mtpc_updates_differenceEmpty); return *(const MTPDupdates_differenceEmpty*)data; } MTPDupdates_difference &_updates_difference() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_difference) throw mtpErrorWrongTypeId(_type, mtpc_updates_difference); split(); return *(MTPDupdates_difference*)data; } const MTPDupdates_difference &c_updates_difference() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_difference) throw mtpErrorWrongTypeId(_type, mtpc_updates_difference); return *(const MTPDupdates_difference*)data; } MTPDupdates_differenceSlice &_updates_differenceSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_differenceSlice) throw mtpErrorWrongTypeId(_type, mtpc_updates_differenceSlice); split(); return *(MTPDupdates_differenceSlice*)data; } const MTPDupdates_differenceSlice &c_updates_differenceSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates_differenceSlice) throw mtpErrorWrongTypeId(_type, mtpc_updates_differenceSlice); return *(const MTPDupdates_differenceSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPupdates_difference(mtpTypeId type); explicit MTPupdates_difference(MTPDupdates_differenceEmpty *_data); explicit MTPupdates_difference(MTPDupdates_difference *_data); explicit MTPupdates_difference(MTPDupdates_differenceSlice *_data); friend MTPupdates_difference MTP_updates_differenceEmpty(MTPint _date, MTPint _seq); friend MTPupdates_difference MTP_updates_difference(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_state); friend MTPupdates_difference MTP_updates_differenceSlice(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_intermediate_state); mtpTypeId _type; }; typedef MTPBoxed MTPupdates_Difference; class MTPupdates : private mtpDataOwner { public: MTPupdates() : mtpDataOwner(0), _type(0) { } MTPupdates(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDupdateShortMessage &_updateShortMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShortMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateShortMessage); split(); return *(MTPDupdateShortMessage*)data; } const MTPDupdateShortMessage &c_updateShortMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShortMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateShortMessage); return *(const MTPDupdateShortMessage*)data; } MTPDupdateShortChatMessage &_updateShortChatMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShortChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateShortChatMessage); split(); return *(MTPDupdateShortChatMessage*)data; } const MTPDupdateShortChatMessage &c_updateShortChatMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShortChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_updateShortChatMessage); return *(const MTPDupdateShortChatMessage*)data; } MTPDupdateShort &_updateShort() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShort) throw mtpErrorWrongTypeId(_type, mtpc_updateShort); split(); return *(MTPDupdateShort*)data; } const MTPDupdateShort &c_updateShort() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updateShort) throw mtpErrorWrongTypeId(_type, mtpc_updateShort); return *(const MTPDupdateShort*)data; } MTPDupdatesCombined &_updatesCombined() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updatesCombined) throw mtpErrorWrongTypeId(_type, mtpc_updatesCombined); split(); return *(MTPDupdatesCombined*)data; } const MTPDupdatesCombined &c_updatesCombined() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updatesCombined) throw mtpErrorWrongTypeId(_type, mtpc_updatesCombined); return *(const MTPDupdatesCombined*)data; } MTPDupdates &_updates() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates) throw mtpErrorWrongTypeId(_type, mtpc_updates); split(); return *(MTPDupdates*)data; } const MTPDupdates &c_updates() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_updates) throw mtpErrorWrongTypeId(_type, mtpc_updates); return *(const MTPDupdates*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPupdates(mtpTypeId type); explicit MTPupdates(MTPDupdateShortMessage *_data); explicit MTPupdates(MTPDupdateShortChatMessage *_data); explicit MTPupdates(MTPDupdateShort *_data); explicit MTPupdates(MTPDupdatesCombined *_data); explicit MTPupdates(MTPDupdates *_data); friend MTPupdates MTP_updatesTooLong(); friend MTPupdates MTP_updateShortMessage(MTPint _id, MTPint _from_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq); friend MTPupdates MTP_updateShortChatMessage(MTPint _id, MTPint _from_id, MTPint _chat_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq); friend MTPupdates MTP_updateShort(const MTPUpdate &_update, MTPint _date); friend MTPupdates MTP_updatesCombined(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq_start, MTPint _seq); friend MTPupdates MTP_updates(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq); mtpTypeId _type; }; typedef MTPBoxed MTPUpdates; class MTPphotos_photos : private mtpDataOwner { public: MTPphotos_photos() : mtpDataOwner(0), _type(0) { } MTPphotos_photos(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDphotos_photos &_photos_photos() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photos_photos) throw mtpErrorWrongTypeId(_type, mtpc_photos_photos); split(); return *(MTPDphotos_photos*)data; } const MTPDphotos_photos &c_photos_photos() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photos_photos) throw mtpErrorWrongTypeId(_type, mtpc_photos_photos); return *(const MTPDphotos_photos*)data; } MTPDphotos_photosSlice &_photos_photosSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photos_photosSlice) throw mtpErrorWrongTypeId(_type, mtpc_photos_photosSlice); split(); return *(MTPDphotos_photosSlice*)data; } const MTPDphotos_photosSlice &c_photos_photosSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_photos_photosSlice) throw mtpErrorWrongTypeId(_type, mtpc_photos_photosSlice); return *(const MTPDphotos_photosSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPphotos_photos(mtpTypeId type); explicit MTPphotos_photos(MTPDphotos_photos *_data); explicit MTPphotos_photos(MTPDphotos_photosSlice *_data); friend MTPphotos_photos MTP_photos_photos(const MTPVector &_photos, const MTPVector &_users); friend MTPphotos_photos MTP_photos_photosSlice(MTPint _count, const MTPVector &_photos, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPphotos_Photos; class MTPphotos_photo : private mtpDataOwner { public: MTPphotos_photo(); MTPphotos_photo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_photo) : mtpDataOwner(0) { read(from, end, cons); } MTPDphotos_photo &_photos_photo() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDphotos_photo*)data; } const MTPDphotos_photo &c_photos_photo() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDphotos_photo*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_photo); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPphotos_photo(MTPDphotos_photo *_data); friend MTPphotos_photo MTP_photos_photo(const MTPPhoto &_photo, const MTPVector &_users); }; typedef MTPBoxed MTPphotos_Photo; class MTPupload_file : private mtpDataOwner { public: MTPupload_file(); MTPupload_file(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_file) : mtpDataOwner(0) { read(from, end, cons); } MTPDupload_file &_upload_file() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDupload_file*)data; } const MTPDupload_file &c_upload_file() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDupload_file*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_file); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPupload_file(MTPDupload_file *_data); friend MTPupload_file MTP_upload_file(const MTPstorage_FileType &_type, MTPint _mtime, const MTPbytes &_bytes); }; typedef MTPBoxed MTPupload_File; class MTPdcOption : private mtpDataOwner { public: MTPdcOption(); MTPdcOption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_dcOption) : mtpDataOwner(0) { read(from, end, cons); } MTPDdcOption &_dcOption() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDdcOption*)data; } const MTPDdcOption &c_dcOption() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDdcOption*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_dcOption); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdcOption(MTPDdcOption *_data); friend MTPdcOption MTP_dcOption(MTPint _id, const MTPstring &_hostname, const MTPstring &_ip_address, MTPint _port); }; typedef MTPBoxed MTPDcOption; class MTPconfig : private mtpDataOwner { public: MTPconfig(); MTPconfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_config) : mtpDataOwner(0) { read(from, end, cons); } MTPDconfig &_config() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDconfig*)data; } const MTPDconfig &c_config() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDconfig*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_config); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPconfig(MTPDconfig *_data); friend MTPconfig MTP_config(MTPint _date, MTPBool _test_mode, MTPint _this_dc, const MTPVector &_dc_options, MTPint _chat_size_max, MTPint _broadcast_size_max); }; typedef MTPBoxed MTPConfig; class MTPnearestDc : private mtpDataOwner { public: MTPnearestDc(); MTPnearestDc(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_nearestDc) : mtpDataOwner(0) { read(from, end, cons); } MTPDnearestDc &_nearestDc() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDnearestDc*)data; } const MTPDnearestDc &c_nearestDc() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDnearestDc*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_nearestDc); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPnearestDc(MTPDnearestDc *_data); friend MTPnearestDc MTP_nearestDc(const MTPstring &_country, MTPint _this_dc, MTPint _nearest_dc); }; typedef MTPBoxed MTPNearestDc; class MTPhelp_appUpdate : private mtpDataOwner { public: MTPhelp_appUpdate() : mtpDataOwner(0), _type(0) { } MTPhelp_appUpdate(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDhelp_appUpdate &_help_appUpdate() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_help_appUpdate) throw mtpErrorWrongTypeId(_type, mtpc_help_appUpdate); split(); return *(MTPDhelp_appUpdate*)data; } const MTPDhelp_appUpdate &c_help_appUpdate() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_help_appUpdate) throw mtpErrorWrongTypeId(_type, mtpc_help_appUpdate); return *(const MTPDhelp_appUpdate*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPhelp_appUpdate(mtpTypeId type); explicit MTPhelp_appUpdate(MTPDhelp_appUpdate *_data); friend MTPhelp_appUpdate MTP_help_appUpdate(MTPint _id, MTPBool _critical, const MTPstring &_url, const MTPstring &_text); friend MTPhelp_appUpdate MTP_help_noAppUpdate(); mtpTypeId _type; }; typedef MTPBoxed MTPhelp_AppUpdate; class MTPhelp_inviteText : private mtpDataOwner { public: MTPhelp_inviteText(); MTPhelp_inviteText(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_inviteText) : mtpDataOwner(0) { read(from, end, cons); } MTPDhelp_inviteText &_help_inviteText() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDhelp_inviteText*)data; } const MTPDhelp_inviteText &c_help_inviteText() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDhelp_inviteText*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_inviteText); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPhelp_inviteText(MTPDhelp_inviteText *_data); friend MTPhelp_inviteText MTP_help_inviteText(const MTPstring &_message); }; typedef MTPBoxed MTPhelp_InviteText; class MTPinputGeoChat : private mtpDataOwner { public: MTPinputGeoChat(); MTPinputGeoChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputGeoChat) : mtpDataOwner(0) { read(from, end, cons); } MTPDinputGeoChat &_inputGeoChat() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDinputGeoChat*)data; } const MTPDinputGeoChat &c_inputGeoChat() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDinputGeoChat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputGeoChat); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputGeoChat(MTPDinputGeoChat *_data); friend MTPinputGeoChat MTP_inputGeoChat(MTPint _chat_id, const MTPlong &_access_hash); }; typedef MTPBoxed MTPInputGeoChat; class MTPgeoChatMessage : private mtpDataOwner { public: MTPgeoChatMessage() : mtpDataOwner(0), _type(0) { } MTPgeoChatMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDgeoChatMessageEmpty &_geoChatMessageEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessageEmpty) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessageEmpty); split(); return *(MTPDgeoChatMessageEmpty*)data; } const MTPDgeoChatMessageEmpty &c_geoChatMessageEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessageEmpty) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessageEmpty); return *(const MTPDgeoChatMessageEmpty*)data; } MTPDgeoChatMessage &_geoChatMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessage); split(); return *(MTPDgeoChatMessage*)data; } const MTPDgeoChatMessage &c_geoChatMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessage) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessage); return *(const MTPDgeoChatMessage*)data; } MTPDgeoChatMessageService &_geoChatMessageService() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessageService) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessageService); split(); return *(MTPDgeoChatMessageService*)data; } const MTPDgeoChatMessageService &c_geoChatMessageService() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geoChatMessageService) throw mtpErrorWrongTypeId(_type, mtpc_geoChatMessageService); return *(const MTPDgeoChatMessageService*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPgeoChatMessage(mtpTypeId type); explicit MTPgeoChatMessage(MTPDgeoChatMessageEmpty *_data); explicit MTPgeoChatMessage(MTPDgeoChatMessage *_data); explicit MTPgeoChatMessage(MTPDgeoChatMessageService *_data); friend MTPgeoChatMessage MTP_geoChatMessageEmpty(MTPint _chat_id, MTPint _id); friend MTPgeoChatMessage MTP_geoChatMessage(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media); friend MTPgeoChatMessage MTP_geoChatMessageService(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPMessageAction &_action); mtpTypeId _type; }; typedef MTPBoxed MTPGeoChatMessage; class MTPgeochats_statedMessage : private mtpDataOwner { public: MTPgeochats_statedMessage(); MTPgeochats_statedMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_statedMessage) : mtpDataOwner(0) { read(from, end, cons); } MTPDgeochats_statedMessage &_geochats_statedMessage() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDgeochats_statedMessage*)data; } const MTPDgeochats_statedMessage &c_geochats_statedMessage() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDgeochats_statedMessage*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_statedMessage); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPgeochats_statedMessage(MTPDgeochats_statedMessage *_data); friend MTPgeochats_statedMessage MTP_geochats_statedMessage(const MTPGeoChatMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _seq); }; typedef MTPBoxed MTPgeochats_StatedMessage; class MTPgeochats_located : private mtpDataOwner { public: MTPgeochats_located(); MTPgeochats_located(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_located) : mtpDataOwner(0) { read(from, end, cons); } MTPDgeochats_located &_geochats_located() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDgeochats_located*)data; } const MTPDgeochats_located &c_geochats_located() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDgeochats_located*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_located); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPgeochats_located(MTPDgeochats_located *_data); friend MTPgeochats_located MTP_geochats_located(const MTPVector &_results, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); }; typedef MTPBoxed MTPgeochats_Located; class MTPgeochats_messages : private mtpDataOwner { public: MTPgeochats_messages() : mtpDataOwner(0), _type(0) { } MTPgeochats_messages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDgeochats_messages &_geochats_messages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geochats_messages) throw mtpErrorWrongTypeId(_type, mtpc_geochats_messages); split(); return *(MTPDgeochats_messages*)data; } const MTPDgeochats_messages &c_geochats_messages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geochats_messages) throw mtpErrorWrongTypeId(_type, mtpc_geochats_messages); return *(const MTPDgeochats_messages*)data; } MTPDgeochats_messagesSlice &_geochats_messagesSlice() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geochats_messagesSlice) throw mtpErrorWrongTypeId(_type, mtpc_geochats_messagesSlice); split(); return *(MTPDgeochats_messagesSlice*)data; } const MTPDgeochats_messagesSlice &c_geochats_messagesSlice() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_geochats_messagesSlice) throw mtpErrorWrongTypeId(_type, mtpc_geochats_messagesSlice); return *(const MTPDgeochats_messagesSlice*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPgeochats_messages(mtpTypeId type); explicit MTPgeochats_messages(MTPDgeochats_messages *_data); explicit MTPgeochats_messages(MTPDgeochats_messagesSlice *_data); friend MTPgeochats_messages MTP_geochats_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); friend MTPgeochats_messages MTP_geochats_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users); mtpTypeId _type; }; typedef MTPBoxed MTPgeochats_Messages; class MTPencryptedChat : private mtpDataOwner { public: MTPencryptedChat() : mtpDataOwner(0), _type(0) { } MTPencryptedChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDencryptedChatEmpty &_encryptedChatEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatEmpty) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatEmpty); split(); return *(MTPDencryptedChatEmpty*)data; } const MTPDencryptedChatEmpty &c_encryptedChatEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatEmpty) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatEmpty); return *(const MTPDencryptedChatEmpty*)data; } MTPDencryptedChatWaiting &_encryptedChatWaiting() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatWaiting) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatWaiting); split(); return *(MTPDencryptedChatWaiting*)data; } const MTPDencryptedChatWaiting &c_encryptedChatWaiting() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatWaiting) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatWaiting); return *(const MTPDencryptedChatWaiting*)data; } MTPDencryptedChatRequested &_encryptedChatRequested() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatRequested) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatRequested); split(); return *(MTPDencryptedChatRequested*)data; } const MTPDencryptedChatRequested &c_encryptedChatRequested() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatRequested) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatRequested); return *(const MTPDencryptedChatRequested*)data; } MTPDencryptedChat &_encryptedChat() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChat) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChat); split(); return *(MTPDencryptedChat*)data; } const MTPDencryptedChat &c_encryptedChat() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChat) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChat); return *(const MTPDencryptedChat*)data; } MTPDencryptedChatDiscarded &_encryptedChatDiscarded() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatDiscarded) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatDiscarded); split(); return *(MTPDencryptedChatDiscarded*)data; } const MTPDencryptedChatDiscarded &c_encryptedChatDiscarded() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedChatDiscarded) throw mtpErrorWrongTypeId(_type, mtpc_encryptedChatDiscarded); return *(const MTPDencryptedChatDiscarded*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPencryptedChat(mtpTypeId type); explicit MTPencryptedChat(MTPDencryptedChatEmpty *_data); explicit MTPencryptedChat(MTPDencryptedChatWaiting *_data); explicit MTPencryptedChat(MTPDencryptedChatRequested *_data); explicit MTPencryptedChat(MTPDencryptedChat *_data); explicit MTPencryptedChat(MTPDencryptedChatDiscarded *_data); friend MTPencryptedChat MTP_encryptedChatEmpty(MTPint _id); friend MTPencryptedChat MTP_encryptedChatWaiting(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id); friend MTPencryptedChat MTP_encryptedChatRequested(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a); friend MTPencryptedChat MTP_encryptedChat(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a_or_b, const MTPlong &_key_fingerprint); friend MTPencryptedChat MTP_encryptedChatDiscarded(MTPint _id); mtpTypeId _type; }; typedef MTPBoxed MTPEncryptedChat; class MTPinputEncryptedChat : private mtpDataOwner { public: MTPinputEncryptedChat(); MTPinputEncryptedChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputEncryptedChat) : mtpDataOwner(0) { read(from, end, cons); } MTPDinputEncryptedChat &_inputEncryptedChat() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDinputEncryptedChat*)data; } const MTPDinputEncryptedChat &c_inputEncryptedChat() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDinputEncryptedChat*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_inputEncryptedChat); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputEncryptedChat(MTPDinputEncryptedChat *_data); friend MTPinputEncryptedChat MTP_inputEncryptedChat(MTPint _chat_id, const MTPlong &_access_hash); }; typedef MTPBoxed MTPInputEncryptedChat; class MTPencryptedFile : private mtpDataOwner { public: MTPencryptedFile() : mtpDataOwner(0), _type(0) { } MTPencryptedFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDencryptedFile &_encryptedFile() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_encryptedFile); split(); return *(MTPDencryptedFile*)data; } const MTPDencryptedFile &c_encryptedFile() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_encryptedFile); return *(const MTPDencryptedFile*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPencryptedFile(mtpTypeId type); explicit MTPencryptedFile(MTPDencryptedFile *_data); friend MTPencryptedFile MTP_encryptedFileEmpty(); friend MTPencryptedFile MTP_encryptedFile(const MTPlong &_id, const MTPlong &_access_hash, MTPint _size, MTPint _dc_id, MTPint _key_fingerprint); mtpTypeId _type; }; typedef MTPBoxed MTPEncryptedFile; class MTPinputEncryptedFile : private mtpDataOwner { public: MTPinputEncryptedFile() : mtpDataOwner(0), _type(0) { } MTPinputEncryptedFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputEncryptedFileUploaded &_inputEncryptedFileUploaded() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileUploaded) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileUploaded); split(); return *(MTPDinputEncryptedFileUploaded*)data; } const MTPDinputEncryptedFileUploaded &c_inputEncryptedFileUploaded() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileUploaded) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileUploaded); return *(const MTPDinputEncryptedFileUploaded*)data; } MTPDinputEncryptedFile &_inputEncryptedFile() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFile); split(); return *(MTPDinputEncryptedFile*)data; } const MTPDinputEncryptedFile &c_inputEncryptedFile() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFile); return *(const MTPDinputEncryptedFile*)data; } MTPDinputEncryptedFileBigUploaded &_inputEncryptedFileBigUploaded() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileBigUploaded) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileBigUploaded); split(); return *(MTPDinputEncryptedFileBigUploaded*)data; } const MTPDinputEncryptedFileBigUploaded &c_inputEncryptedFileBigUploaded() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputEncryptedFileBigUploaded) throw mtpErrorWrongTypeId(_type, mtpc_inputEncryptedFileBigUploaded); return *(const MTPDinputEncryptedFileBigUploaded*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputEncryptedFile(mtpTypeId type); explicit MTPinputEncryptedFile(MTPDinputEncryptedFileUploaded *_data); explicit MTPinputEncryptedFile(MTPDinputEncryptedFile *_data); explicit MTPinputEncryptedFile(MTPDinputEncryptedFileBigUploaded *_data); friend MTPinputEncryptedFile MTP_inputEncryptedFileEmpty(); friend MTPinputEncryptedFile MTP_inputEncryptedFileUploaded(const MTPlong &_id, MTPint _parts, const MTPstring &_md5_checksum, MTPint _key_fingerprint); friend MTPinputEncryptedFile MTP_inputEncryptedFile(const MTPlong &_id, const MTPlong &_access_hash); friend MTPinputEncryptedFile MTP_inputEncryptedFileBigUploaded(const MTPlong &_id, MTPint _parts, MTPint _key_fingerprint); mtpTypeId _type; }; typedef MTPBoxed MTPInputEncryptedFile; class MTPencryptedMessage : private mtpDataOwner { public: MTPencryptedMessage() : mtpDataOwner(0), _type(0) { } MTPencryptedMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDencryptedMessage &_encryptedMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_encryptedMessage); split(); return *(MTPDencryptedMessage*)data; } const MTPDencryptedMessage &c_encryptedMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_encryptedMessage); return *(const MTPDencryptedMessage*)data; } MTPDencryptedMessageService &_encryptedMessageService() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedMessageService) throw mtpErrorWrongTypeId(_type, mtpc_encryptedMessageService); split(); return *(MTPDencryptedMessageService*)data; } const MTPDencryptedMessageService &c_encryptedMessageService() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_encryptedMessageService) throw mtpErrorWrongTypeId(_type, mtpc_encryptedMessageService); return *(const MTPDencryptedMessageService*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPencryptedMessage(mtpTypeId type); explicit MTPencryptedMessage(MTPDencryptedMessage *_data); explicit MTPencryptedMessage(MTPDencryptedMessageService *_data); friend MTPencryptedMessage MTP_encryptedMessage(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes, const MTPEncryptedFile &_file); friend MTPencryptedMessage MTP_encryptedMessageService(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes); mtpTypeId _type; }; typedef MTPBoxed MTPEncryptedMessage; class MTPdecryptedMessageLayer : private mtpDataOwner { public: MTPdecryptedMessageLayer(); MTPdecryptedMessageLayer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_decryptedMessageLayer) : mtpDataOwner(0) { read(from, end, cons); } MTPDdecryptedMessageLayer &_decryptedMessageLayer() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDdecryptedMessageLayer*)data; } const MTPDdecryptedMessageLayer &c_decryptedMessageLayer() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDdecryptedMessageLayer*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_decryptedMessageLayer); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdecryptedMessageLayer(MTPDdecryptedMessageLayer *_data); friend MTPdecryptedMessageLayer MTP_decryptedMessageLayer(MTPint _layer, const MTPDecryptedMessage &_message); }; typedef MTPBoxed MTPDecryptedMessageLayer; class MTPdecryptedMessage : private mtpDataOwner { public: MTPdecryptedMessage() : mtpDataOwner(0), _type(0) { } MTPdecryptedMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdecryptedMessage &_decryptedMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessage); split(); return *(MTPDdecryptedMessage*)data; } const MTPDdecryptedMessage &c_decryptedMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessage); return *(const MTPDdecryptedMessage*)data; } MTPDdecryptedMessageService &_decryptedMessageService() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageService) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageService); split(); return *(MTPDdecryptedMessageService*)data; } const MTPDdecryptedMessageService &c_decryptedMessageService() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageService) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageService); return *(const MTPDdecryptedMessageService*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdecryptedMessage(mtpTypeId type); explicit MTPdecryptedMessage(MTPDdecryptedMessage *_data); explicit MTPdecryptedMessage(MTPDdecryptedMessageService *_data); friend MTPdecryptedMessage MTP_decryptedMessage(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPstring &_message, const MTPDecryptedMessageMedia &_media); friend MTPdecryptedMessage MTP_decryptedMessageService(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPDecryptedMessageAction &_action); mtpTypeId _type; }; typedef MTPBoxed MTPDecryptedMessage; class MTPdecryptedMessageMedia : private mtpDataOwner { public: MTPdecryptedMessageMedia() : mtpDataOwner(0), _type(0) { } MTPdecryptedMessageMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdecryptedMessageMediaPhoto &_decryptedMessageMediaPhoto() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaPhoto); split(); return *(MTPDdecryptedMessageMediaPhoto*)data; } const MTPDdecryptedMessageMediaPhoto &c_decryptedMessageMediaPhoto() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaPhoto) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaPhoto); return *(const MTPDdecryptedMessageMediaPhoto*)data; } MTPDdecryptedMessageMediaVideo &_decryptedMessageMediaVideo() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaVideo); split(); return *(MTPDdecryptedMessageMediaVideo*)data; } const MTPDdecryptedMessageMediaVideo &c_decryptedMessageMediaVideo() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaVideo) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaVideo); return *(const MTPDdecryptedMessageMediaVideo*)data; } MTPDdecryptedMessageMediaGeoPoint &_decryptedMessageMediaGeoPoint() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaGeoPoint); split(); return *(MTPDdecryptedMessageMediaGeoPoint*)data; } const MTPDdecryptedMessageMediaGeoPoint &c_decryptedMessageMediaGeoPoint() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaGeoPoint) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaGeoPoint); return *(const MTPDdecryptedMessageMediaGeoPoint*)data; } MTPDdecryptedMessageMediaContact &_decryptedMessageMediaContact() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaContact); split(); return *(MTPDdecryptedMessageMediaContact*)data; } const MTPDdecryptedMessageMediaContact &c_decryptedMessageMediaContact() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaContact) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaContact); return *(const MTPDdecryptedMessageMediaContact*)data; } MTPDdecryptedMessageMediaDocument &_decryptedMessageMediaDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaDocument); split(); return *(MTPDdecryptedMessageMediaDocument*)data; } const MTPDdecryptedMessageMediaDocument &c_decryptedMessageMediaDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaDocument) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaDocument); return *(const MTPDdecryptedMessageMediaDocument*)data; } MTPDdecryptedMessageMediaAudio &_decryptedMessageMediaAudio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaAudio); split(); return *(MTPDdecryptedMessageMediaAudio*)data; } const MTPDdecryptedMessageMediaAudio &c_decryptedMessageMediaAudio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageMediaAudio) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageMediaAudio); return *(const MTPDdecryptedMessageMediaAudio*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdecryptedMessageMedia(mtpTypeId type); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaPhoto *_data); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaVideo *_data); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaGeoPoint *_data); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaContact *_data); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaDocument *_data); explicit MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaAudio *_data); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaEmpty(); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaPhoto(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaVideo(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _duration, const MTPstring &_mime_type, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaGeoPoint(const MTPdouble &_lat, const MTPdouble &_long); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaDocument(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv); friend MTPdecryptedMessageMedia MTP_decryptedMessageMediaAudio(MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv); mtpTypeId _type; }; typedef MTPBoxed MTPDecryptedMessageMedia; class MTPdecryptedMessageAction : private mtpDataOwner { public: MTPdecryptedMessageAction() : mtpDataOwner(0), _type(0) { } MTPdecryptedMessageAction(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdecryptedMessageActionSetMessageTTL &_decryptedMessageActionSetMessageTTL() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionSetMessageTTL) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionSetMessageTTL); split(); return *(MTPDdecryptedMessageActionSetMessageTTL*)data; } const MTPDdecryptedMessageActionSetMessageTTL &c_decryptedMessageActionSetMessageTTL() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionSetMessageTTL) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionSetMessageTTL); return *(const MTPDdecryptedMessageActionSetMessageTTL*)data; } MTPDdecryptedMessageActionReadMessages &_decryptedMessageActionReadMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionReadMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionReadMessages); split(); return *(MTPDdecryptedMessageActionReadMessages*)data; } const MTPDdecryptedMessageActionReadMessages &c_decryptedMessageActionReadMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionReadMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionReadMessages); return *(const MTPDdecryptedMessageActionReadMessages*)data; } MTPDdecryptedMessageActionDeleteMessages &_decryptedMessageActionDeleteMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionDeleteMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionDeleteMessages); split(); return *(MTPDdecryptedMessageActionDeleteMessages*)data; } const MTPDdecryptedMessageActionDeleteMessages &c_decryptedMessageActionDeleteMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionDeleteMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionDeleteMessages); return *(const MTPDdecryptedMessageActionDeleteMessages*)data; } MTPDdecryptedMessageActionScreenshotMessages &_decryptedMessageActionScreenshotMessages() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionScreenshotMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionScreenshotMessages); split(); return *(MTPDdecryptedMessageActionScreenshotMessages*)data; } const MTPDdecryptedMessageActionScreenshotMessages &c_decryptedMessageActionScreenshotMessages() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionScreenshotMessages) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionScreenshotMessages); return *(const MTPDdecryptedMessageActionScreenshotMessages*)data; } MTPDdecryptedMessageActionNotifyLayer &_decryptedMessageActionNotifyLayer() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionNotifyLayer) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionNotifyLayer); split(); return *(MTPDdecryptedMessageActionNotifyLayer*)data; } const MTPDdecryptedMessageActionNotifyLayer &c_decryptedMessageActionNotifyLayer() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_decryptedMessageActionNotifyLayer) throw mtpErrorWrongTypeId(_type, mtpc_decryptedMessageActionNotifyLayer); return *(const MTPDdecryptedMessageActionNotifyLayer*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdecryptedMessageAction(mtpTypeId type); explicit MTPdecryptedMessageAction(MTPDdecryptedMessageActionSetMessageTTL *_data); explicit MTPdecryptedMessageAction(MTPDdecryptedMessageActionReadMessages *_data); explicit MTPdecryptedMessageAction(MTPDdecryptedMessageActionDeleteMessages *_data); explicit MTPdecryptedMessageAction(MTPDdecryptedMessageActionScreenshotMessages *_data); explicit MTPdecryptedMessageAction(MTPDdecryptedMessageActionNotifyLayer *_data); friend MTPdecryptedMessageAction MTP_decryptedMessageActionSetMessageTTL(MTPint _ttl_seconds); friend MTPdecryptedMessageAction MTP_decryptedMessageActionReadMessages(const MTPVector &_random_ids); friend MTPdecryptedMessageAction MTP_decryptedMessageActionDeleteMessages(const MTPVector &_random_ids); friend MTPdecryptedMessageAction MTP_decryptedMessageActionScreenshotMessages(const MTPVector &_random_ids); friend MTPdecryptedMessageAction MTP_decryptedMessageActionFlushHistory(); friend MTPdecryptedMessageAction MTP_decryptedMessageActionNotifyLayer(MTPint _layer); mtpTypeId _type; }; typedef MTPBoxed MTPDecryptedMessageAction; class MTPmessages_dhConfig : private mtpDataOwner { public: MTPmessages_dhConfig() : mtpDataOwner(0), _type(0) { } MTPmessages_dhConfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_dhConfigNotModified &_messages_dhConfigNotModified() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dhConfigNotModified) throw mtpErrorWrongTypeId(_type, mtpc_messages_dhConfigNotModified); split(); return *(MTPDmessages_dhConfigNotModified*)data; } const MTPDmessages_dhConfigNotModified &c_messages_dhConfigNotModified() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dhConfigNotModified) throw mtpErrorWrongTypeId(_type, mtpc_messages_dhConfigNotModified); return *(const MTPDmessages_dhConfigNotModified*)data; } MTPDmessages_dhConfig &_messages_dhConfig() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dhConfig) throw mtpErrorWrongTypeId(_type, mtpc_messages_dhConfig); split(); return *(MTPDmessages_dhConfig*)data; } const MTPDmessages_dhConfig &c_messages_dhConfig() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_dhConfig) throw mtpErrorWrongTypeId(_type, mtpc_messages_dhConfig); return *(const MTPDmessages_dhConfig*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_dhConfig(mtpTypeId type); explicit MTPmessages_dhConfig(MTPDmessages_dhConfigNotModified *_data); explicit MTPmessages_dhConfig(MTPDmessages_dhConfig *_data); friend MTPmessages_dhConfig MTP_messages_dhConfigNotModified(const MTPbytes &_random); friend MTPmessages_dhConfig MTP_messages_dhConfig(MTPint _g, const MTPbytes &_p, MTPint _version, const MTPbytes &_random); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_DhConfig; class MTPmessages_sentEncryptedMessage : private mtpDataOwner { public: MTPmessages_sentEncryptedMessage() : mtpDataOwner(0), _type(0) { } MTPmessages_sentEncryptedMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDmessages_sentEncryptedMessage &_messages_sentEncryptedMessage() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentEncryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentEncryptedMessage); split(); return *(MTPDmessages_sentEncryptedMessage*)data; } const MTPDmessages_sentEncryptedMessage &c_messages_sentEncryptedMessage() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentEncryptedMessage) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentEncryptedMessage); return *(const MTPDmessages_sentEncryptedMessage*)data; } MTPDmessages_sentEncryptedFile &_messages_sentEncryptedFile() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentEncryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentEncryptedFile); split(); return *(MTPDmessages_sentEncryptedFile*)data; } const MTPDmessages_sentEncryptedFile &c_messages_sentEncryptedFile() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_messages_sentEncryptedFile) throw mtpErrorWrongTypeId(_type, mtpc_messages_sentEncryptedFile); return *(const MTPDmessages_sentEncryptedFile*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPmessages_sentEncryptedMessage(mtpTypeId type); explicit MTPmessages_sentEncryptedMessage(MTPDmessages_sentEncryptedMessage *_data); explicit MTPmessages_sentEncryptedMessage(MTPDmessages_sentEncryptedFile *_data); friend MTPmessages_sentEncryptedMessage MTP_messages_sentEncryptedMessage(MTPint _date); friend MTPmessages_sentEncryptedMessage MTP_messages_sentEncryptedFile(MTPint _date, const MTPEncryptedFile &_file); mtpTypeId _type; }; typedef MTPBoxed MTPmessages_SentEncryptedMessage; class MTPinputAudio : private mtpDataOwner { public: MTPinputAudio() : mtpDataOwner(0), _type(0) { } MTPinputAudio(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputAudio &_inputAudio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputAudio); split(); return *(MTPDinputAudio*)data; } const MTPDinputAudio &c_inputAudio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputAudio) throw mtpErrorWrongTypeId(_type, mtpc_inputAudio); return *(const MTPDinputAudio*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputAudio(mtpTypeId type); explicit MTPinputAudio(MTPDinputAudio *_data); friend MTPinputAudio MTP_inputAudioEmpty(); friend MTPinputAudio MTP_inputAudio(const MTPlong &_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputAudio; class MTPinputDocument : private mtpDataOwner { public: MTPinputDocument() : mtpDataOwner(0), _type(0) { } MTPinputDocument(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDinputDocument &_inputDocument() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputDocument); split(); return *(MTPDinputDocument*)data; } const MTPDinputDocument &c_inputDocument() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_inputDocument) throw mtpErrorWrongTypeId(_type, mtpc_inputDocument); return *(const MTPDinputDocument*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPinputDocument(mtpTypeId type); explicit MTPinputDocument(MTPDinputDocument *_data); friend MTPinputDocument MTP_inputDocumentEmpty(); friend MTPinputDocument MTP_inputDocument(const MTPlong &_id, const MTPlong &_access_hash); mtpTypeId _type; }; typedef MTPBoxed MTPInputDocument; class MTPaudio : private mtpDataOwner { public: MTPaudio() : mtpDataOwner(0), _type(0) { } MTPaudio(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDaudioEmpty &_audioEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_audioEmpty) throw mtpErrorWrongTypeId(_type, mtpc_audioEmpty); split(); return *(MTPDaudioEmpty*)data; } const MTPDaudioEmpty &c_audioEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_audioEmpty) throw mtpErrorWrongTypeId(_type, mtpc_audioEmpty); return *(const MTPDaudioEmpty*)data; } MTPDaudio &_audio() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_audio) throw mtpErrorWrongTypeId(_type, mtpc_audio); split(); return *(MTPDaudio*)data; } const MTPDaudio &c_audio() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_audio) throw mtpErrorWrongTypeId(_type, mtpc_audio); return *(const MTPDaudio*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPaudio(mtpTypeId type); explicit MTPaudio(MTPDaudioEmpty *_data); explicit MTPaudio(MTPDaudio *_data); friend MTPaudio MTP_audioEmpty(const MTPlong &_id); friend MTPaudio MTP_audio(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, MTPint _duration, const MTPstring &_mime_type, MTPint _size, MTPint _dc_id); mtpTypeId _type; }; typedef MTPBoxed MTPAudio; class MTPdocument : private mtpDataOwner { public: MTPdocument() : mtpDataOwner(0), _type(0) { } MTPdocument(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDdocumentEmpty &_documentEmpty() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_documentEmpty) throw mtpErrorWrongTypeId(_type, mtpc_documentEmpty); split(); return *(MTPDdocumentEmpty*)data; } const MTPDdocumentEmpty &c_documentEmpty() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_documentEmpty) throw mtpErrorWrongTypeId(_type, mtpc_documentEmpty); return *(const MTPDdocumentEmpty*)data; } MTPDdocument &_document() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_document) throw mtpErrorWrongTypeId(_type, mtpc_document); split(); return *(MTPDdocument*)data; } const MTPDdocument &c_document() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_document) throw mtpErrorWrongTypeId(_type, mtpc_document); return *(const MTPDdocument*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPdocument(mtpTypeId type); explicit MTPdocument(MTPDdocumentEmpty *_data); explicit MTPdocument(MTPDdocument *_data); friend MTPdocument MTP_documentEmpty(const MTPlong &_id); friend MTPdocument MTP_document(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id); mtpTypeId _type; }; typedef MTPBoxed MTPDocument; class MTPhelp_support : private mtpDataOwner { public: MTPhelp_support(); MTPhelp_support(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_support) : mtpDataOwner(0) { read(from, end, cons); } MTPDhelp_support &_help_support() { if (!data) throw mtpErrorUninitialized(); split(); return *(MTPDhelp_support*)data; } const MTPDhelp_support &c_help_support() const { if (!data) throw mtpErrorUninitialized(); return *(const MTPDhelp_support*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_support); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPhelp_support(MTPDhelp_support *_data); friend MTPhelp_support MTP_help_support(const MTPstring &_phone_number, const MTPUser &_user); }; typedef MTPBoxed MTPhelp_Support; class MTPnotifyPeer : private mtpDataOwner { public: MTPnotifyPeer() : mtpDataOwner(0), _type(0) { } MTPnotifyPeer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) : mtpDataOwner(0), _type(0) { read(from, end, cons); } MTPDnotifyPeer &_notifyPeer() { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_notifyPeer) throw mtpErrorWrongTypeId(_type, mtpc_notifyPeer); split(); return *(MTPDnotifyPeer*)data; } const MTPDnotifyPeer &c_notifyPeer() const { if (!data) throw mtpErrorUninitialized(); if (_type != mtpc_notifyPeer) throw mtpErrorWrongTypeId(_type, mtpc_notifyPeer); return *(const MTPDnotifyPeer*)data; } uint32 size() const; mtpTypeId type() const; void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons); void write(mtpBuffer &to) const; typedef void ResponseType; private: explicit MTPnotifyPeer(mtpTypeId type); explicit MTPnotifyPeer(MTPDnotifyPeer *_data); friend MTPnotifyPeer MTP_notifyPeer(const MTPPeer &_peer); friend MTPnotifyPeer MTP_notifyUsers(); friend MTPnotifyPeer MTP_notifyChats(); friend MTPnotifyPeer MTP_notifyAll(); mtpTypeId _type; }; typedef MTPBoxed MTPNotifyPeer; // Type constructors with data class MTPDresPQ : public mtpDataImpl { public: MTPDresPQ() { } MTPDresPQ(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_pq, const MTPVector &_server_public_key_fingerprints) : vnonce(_nonce), vserver_nonce(_server_nonce), vpq(_pq), vserver_public_key_fingerprints(_server_public_key_fingerprints) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPstring vpq; MTPVector vserver_public_key_fingerprints; }; class MTPDp_q_inner_data : public mtpDataImpl { public: MTPDp_q_inner_data() { } MTPDp_q_inner_data(const MTPstring &_pq, const MTPstring &_p, const MTPstring &_q, const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint256 &_new_nonce) : vpq(_pq), vp(_p), vq(_q), vnonce(_nonce), vserver_nonce(_server_nonce), vnew_nonce(_new_nonce) { } MTPstring vpq; MTPstring vp; MTPstring vq; MTPint128 vnonce; MTPint128 vserver_nonce; MTPint256 vnew_nonce; }; class MTPDserver_DH_params_fail : public mtpDataImpl { public: MTPDserver_DH_params_fail() { } MTPDserver_DH_params_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash) : vnonce(_nonce), vserver_nonce(_server_nonce), vnew_nonce_hash(_new_nonce_hash) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPint128 vnew_nonce_hash; }; class MTPDserver_DH_params_ok : public mtpDataImpl { public: MTPDserver_DH_params_ok() { } MTPDserver_DH_params_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_encrypted_answer) : vnonce(_nonce), vserver_nonce(_server_nonce), vencrypted_answer(_encrypted_answer) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPstring vencrypted_answer; }; class MTPDserver_DH_inner_data : public mtpDataImpl { public: MTPDserver_DH_inner_data() { } MTPDserver_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, MTPint _g, const MTPstring &_dh_prime, const MTPstring &_g_a, MTPint _server_time) : vnonce(_nonce), vserver_nonce(_server_nonce), vg(_g), vdh_prime(_dh_prime), vg_a(_g_a), vserver_time(_server_time) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPint vg; MTPstring vdh_prime; MTPstring vg_a; MTPint vserver_time; }; class MTPDclient_DH_inner_data : public mtpDataImpl { public: MTPDclient_DH_inner_data() { } MTPDclient_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPlong &_retry_id, const MTPstring &_g_b) : vnonce(_nonce), vserver_nonce(_server_nonce), vretry_id(_retry_id), vg_b(_g_b) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPlong vretry_id; MTPstring vg_b; }; class MTPDdh_gen_ok : public mtpDataImpl { public: MTPDdh_gen_ok() { } MTPDdh_gen_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash1) : vnonce(_nonce), vserver_nonce(_server_nonce), vnew_nonce_hash1(_new_nonce_hash1) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPint128 vnew_nonce_hash1; }; class MTPDdh_gen_retry : public mtpDataImpl { public: MTPDdh_gen_retry() { } MTPDdh_gen_retry(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash2) : vnonce(_nonce), vserver_nonce(_server_nonce), vnew_nonce_hash2(_new_nonce_hash2) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPint128 vnew_nonce_hash2; }; class MTPDdh_gen_fail : public mtpDataImpl { public: MTPDdh_gen_fail() { } MTPDdh_gen_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash3) : vnonce(_nonce), vserver_nonce(_server_nonce), vnew_nonce_hash3(_new_nonce_hash3) { } MTPint128 vnonce; MTPint128 vserver_nonce; MTPint128 vnew_nonce_hash3; }; class MTPDmsgs_ack : public mtpDataImpl { public: MTPDmsgs_ack() { } MTPDmsgs_ack(const MTPVector &_msg_ids) : vmsg_ids(_msg_ids) { } MTPVector vmsg_ids; }; class MTPDbad_msg_notification : public mtpDataImpl { public: MTPDbad_msg_notification() { } MTPDbad_msg_notification(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code) : vbad_msg_id(_bad_msg_id), vbad_msg_seqno(_bad_msg_seqno), verror_code(_error_code) { } MTPlong vbad_msg_id; MTPint vbad_msg_seqno; MTPint verror_code; }; class MTPDbad_server_salt : public mtpDataImpl { public: MTPDbad_server_salt() { } MTPDbad_server_salt(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code, const MTPlong &_new_server_salt) : vbad_msg_id(_bad_msg_id), vbad_msg_seqno(_bad_msg_seqno), verror_code(_error_code), vnew_server_salt(_new_server_salt) { } MTPlong vbad_msg_id; MTPint vbad_msg_seqno; MTPint verror_code; MTPlong vnew_server_salt; }; class MTPDmsgs_state_req : public mtpDataImpl { public: MTPDmsgs_state_req() { } MTPDmsgs_state_req(const MTPVector &_msg_ids) : vmsg_ids(_msg_ids) { } MTPVector vmsg_ids; }; class MTPDmsgs_state_info : public mtpDataImpl { public: MTPDmsgs_state_info() { } MTPDmsgs_state_info(const MTPlong &_req_msg_id, const MTPstring &_info) : vreq_msg_id(_req_msg_id), vinfo(_info) { } MTPlong vreq_msg_id; MTPstring vinfo; }; class MTPDmsgs_all_info : public mtpDataImpl { public: MTPDmsgs_all_info() { } MTPDmsgs_all_info(const MTPVector &_msg_ids, const MTPstring &_info) : vmsg_ids(_msg_ids), vinfo(_info) { } MTPVector vmsg_ids; MTPstring vinfo; }; class MTPDmsg_detailed_info : public mtpDataImpl { public: MTPDmsg_detailed_info() { } MTPDmsg_detailed_info(const MTPlong &_msg_id, const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status) : vmsg_id(_msg_id), vanswer_msg_id(_answer_msg_id), vbytes(_bytes), vstatus(_status) { } MTPlong vmsg_id; MTPlong vanswer_msg_id; MTPint vbytes; MTPint vstatus; }; class MTPDmsg_new_detailed_info : public mtpDataImpl { public: MTPDmsg_new_detailed_info() { } MTPDmsg_new_detailed_info(const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status) : vanswer_msg_id(_answer_msg_id), vbytes(_bytes), vstatus(_status) { } MTPlong vanswer_msg_id; MTPint vbytes; MTPint vstatus; }; class MTPDmsg_resend_req : public mtpDataImpl { public: MTPDmsg_resend_req() { } MTPDmsg_resend_req(const MTPVector &_msg_ids) : vmsg_ids(_msg_ids) { } MTPVector vmsg_ids; }; class MTPDrpc_error : public mtpDataImpl { public: MTPDrpc_error() { } MTPDrpc_error(MTPint _error_code, const MTPstring &_error_message) : verror_code(_error_code), verror_message(_error_message) { } MTPint verror_code; MTPstring verror_message; }; class MTPDrpc_answer_dropped : public mtpDataImpl { public: MTPDrpc_answer_dropped() { } MTPDrpc_answer_dropped(const MTPlong &_msg_id, MTPint _seq_no, MTPint _bytes) : vmsg_id(_msg_id), vseq_no(_seq_no), vbytes(_bytes) { } MTPlong vmsg_id; MTPint vseq_no; MTPint vbytes; }; class MTPDfuture_salt : public mtpDataImpl { public: MTPDfuture_salt() { } MTPDfuture_salt(MTPint _valid_since, MTPint _valid_until, const MTPlong &_salt) : vvalid_since(_valid_since), vvalid_until(_valid_until), vsalt(_salt) { } MTPint vvalid_since; MTPint vvalid_until; MTPlong vsalt; }; class MTPDfuture_salts : public mtpDataImpl { public: MTPDfuture_salts() { } MTPDfuture_salts(const MTPlong &_req_msg_id, MTPint _now, const MTPvector &_salts) : vreq_msg_id(_req_msg_id), vnow(_now), vsalts(_salts) { } MTPlong vreq_msg_id; MTPint vnow; MTPvector vsalts; }; class MTPDpong : public mtpDataImpl { public: MTPDpong() { } MTPDpong(const MTPlong &_msg_id, const MTPlong &_ping_id) : vmsg_id(_msg_id), vping_id(_ping_id) { } MTPlong vmsg_id; MTPlong vping_id; }; class MTPDdestroy_session_ok : public mtpDataImpl { public: MTPDdestroy_session_ok() { } MTPDdestroy_session_ok(const MTPlong &_session_id) : vsession_id(_session_id) { } MTPlong vsession_id; }; class MTPDdestroy_session_none : public mtpDataImpl { public: MTPDdestroy_session_none() { } MTPDdestroy_session_none(const MTPlong &_session_id) : vsession_id(_session_id) { } MTPlong vsession_id; }; class MTPDnew_session_created : public mtpDataImpl { public: MTPDnew_session_created() { } MTPDnew_session_created(const MTPlong &_first_msg_id, const MTPlong &_unique_id, const MTPlong &_server_salt) : vfirst_msg_id(_first_msg_id), vunique_id(_unique_id), vserver_salt(_server_salt) { } MTPlong vfirst_msg_id; MTPlong vunique_id; MTPlong vserver_salt; }; class MTPDhttp_wait : public mtpDataImpl { public: MTPDhttp_wait() { } MTPDhttp_wait(MTPint _max_delay, MTPint _wait_after, MTPint _max_wait) : vmax_delay(_max_delay), vwait_after(_wait_after), vmax_wait(_max_wait) { } MTPint vmax_delay; MTPint vwait_after; MTPint vmax_wait; }; class MTPDinputPeerContact : public mtpDataImpl { public: MTPDinputPeerContact() { } MTPDinputPeerContact(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDinputPeerForeign : public mtpDataImpl { public: MTPDinputPeerForeign() { } MTPDinputPeerForeign(MTPint _user_id, const MTPlong &_access_hash) : vuser_id(_user_id), vaccess_hash(_access_hash) { } MTPint vuser_id; MTPlong vaccess_hash; }; class MTPDinputPeerChat : public mtpDataImpl { public: MTPDinputPeerChat() { } MTPDinputPeerChat(MTPint _chat_id) : vchat_id(_chat_id) { } MTPint vchat_id; }; class MTPDinputUserContact : public mtpDataImpl { public: MTPDinputUserContact() { } MTPDinputUserContact(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDinputUserForeign : public mtpDataImpl { public: MTPDinputUserForeign() { } MTPDinputUserForeign(MTPint _user_id, const MTPlong &_access_hash) : vuser_id(_user_id), vaccess_hash(_access_hash) { } MTPint vuser_id; MTPlong vaccess_hash; }; class MTPDinputPhoneContact : public mtpDataImpl { public: MTPDinputPhoneContact() { } MTPDinputPhoneContact(const MTPlong &_client_id, const MTPstring &_phone, const MTPstring &_first_name, const MTPstring &_last_name) : vclient_id(_client_id), vphone(_phone), vfirst_name(_first_name), vlast_name(_last_name) { } MTPlong vclient_id; MTPstring vphone; MTPstring vfirst_name; MTPstring vlast_name; }; class MTPDinputFile : public mtpDataImpl { public: MTPDinputFile() { } MTPDinputFile(const MTPlong &_id, MTPint _parts, const MTPstring &_name, const MTPstring &_md5_checksum) : vid(_id), vparts(_parts), vname(_name), vmd5_checksum(_md5_checksum) { } MTPlong vid; MTPint vparts; MTPstring vname; MTPstring vmd5_checksum; }; class MTPDinputFileBig : public mtpDataImpl { public: MTPDinputFileBig() { } MTPDinputFileBig(const MTPlong &_id, MTPint _parts, const MTPstring &_name) : vid(_id), vparts(_parts), vname(_name) { } MTPlong vid; MTPint vparts; MTPstring vname; }; class MTPDinputMediaUploadedPhoto : public mtpDataImpl { public: MTPDinputMediaUploadedPhoto() { } MTPDinputMediaUploadedPhoto(const MTPInputFile &_file) : vfile(_file) { } MTPInputFile vfile; }; class MTPDinputMediaPhoto : public mtpDataImpl { public: MTPDinputMediaPhoto() { } MTPDinputMediaPhoto(const MTPInputPhoto &_id) : vid(_id) { } MTPInputPhoto vid; }; class MTPDinputMediaGeoPoint : public mtpDataImpl { public: MTPDinputMediaGeoPoint() { } MTPDinputMediaGeoPoint(const MTPInputGeoPoint &_geo_point) : vgeo_point(_geo_point) { } MTPInputGeoPoint vgeo_point; }; class MTPDinputMediaContact : public mtpDataImpl { public: MTPDinputMediaContact() { } MTPDinputMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name) : vphone_number(_phone_number), vfirst_name(_first_name), vlast_name(_last_name) { } MTPstring vphone_number; MTPstring vfirst_name; MTPstring vlast_name; }; class MTPDinputMediaUploadedVideo : public mtpDataImpl { public: MTPDinputMediaUploadedVideo() { } MTPDinputMediaUploadedVideo(const MTPInputFile &_file, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type) : vfile(_file), vduration(_duration), vw(_w), vh(_h), vmime_type(_mime_type) { } MTPInputFile vfile; MTPint vduration; MTPint vw; MTPint vh; MTPstring vmime_type; }; class MTPDinputMediaUploadedThumbVideo : public mtpDataImpl { public: MTPDinputMediaUploadedThumbVideo() { } MTPDinputMediaUploadedThumbVideo(const MTPInputFile &_file, const MTPInputFile &_thumb, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type) : vfile(_file), vthumb(_thumb), vduration(_duration), vw(_w), vh(_h), vmime_type(_mime_type) { } MTPInputFile vfile; MTPInputFile vthumb; MTPint vduration; MTPint vw; MTPint vh; MTPstring vmime_type; }; class MTPDinputMediaVideo : public mtpDataImpl { public: MTPDinputMediaVideo() { } MTPDinputMediaVideo(const MTPInputVideo &_id) : vid(_id) { } MTPInputVideo vid; }; class MTPDinputMediaUploadedAudio : public mtpDataImpl { public: MTPDinputMediaUploadedAudio() { } MTPDinputMediaUploadedAudio(const MTPInputFile &_file, MTPint _duration, const MTPstring &_mime_type) : vfile(_file), vduration(_duration), vmime_type(_mime_type) { } MTPInputFile vfile; MTPint vduration; MTPstring vmime_type; }; class MTPDinputMediaAudio : public mtpDataImpl { public: MTPDinputMediaAudio() { } MTPDinputMediaAudio(const MTPInputAudio &_id) : vid(_id) { } MTPInputAudio vid; }; class MTPDinputMediaUploadedDocument : public mtpDataImpl { public: MTPDinputMediaUploadedDocument() { } MTPDinputMediaUploadedDocument(const MTPInputFile &_file, const MTPstring &_file_name, const MTPstring &_mime_type) : vfile(_file), vfile_name(_file_name), vmime_type(_mime_type) { } MTPInputFile vfile; MTPstring vfile_name; MTPstring vmime_type; }; class MTPDinputMediaUploadedThumbDocument : public mtpDataImpl { public: MTPDinputMediaUploadedThumbDocument() { } MTPDinputMediaUploadedThumbDocument(const MTPInputFile &_file, const MTPInputFile &_thumb, const MTPstring &_file_name, const MTPstring &_mime_type) : vfile(_file), vthumb(_thumb), vfile_name(_file_name), vmime_type(_mime_type) { } MTPInputFile vfile; MTPInputFile vthumb; MTPstring vfile_name; MTPstring vmime_type; }; class MTPDinputMediaDocument : public mtpDataImpl { public: MTPDinputMediaDocument() { } MTPDinputMediaDocument(const MTPInputDocument &_id) : vid(_id) { } MTPInputDocument vid; }; class MTPDinputChatUploadedPhoto : public mtpDataImpl { public: MTPDinputChatUploadedPhoto() { } MTPDinputChatUploadedPhoto(const MTPInputFile &_file, const MTPInputPhotoCrop &_crop) : vfile(_file), vcrop(_crop) { } MTPInputFile vfile; MTPInputPhotoCrop vcrop; }; class MTPDinputChatPhoto : public mtpDataImpl { public: MTPDinputChatPhoto() { } MTPDinputChatPhoto(const MTPInputPhoto &_id, const MTPInputPhotoCrop &_crop) : vid(_id), vcrop(_crop) { } MTPInputPhoto vid; MTPInputPhotoCrop vcrop; }; class MTPDinputGeoPoint : public mtpDataImpl { public: MTPDinputGeoPoint() { } MTPDinputGeoPoint(const MTPdouble &_lat, const MTPdouble &_long) : vlat(_lat), vlong(_long) { } MTPdouble vlat; MTPdouble vlong; }; class MTPDinputPhoto : public mtpDataImpl { public: MTPDinputPhoto() { } MTPDinputPhoto(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputVideo : public mtpDataImpl { public: MTPDinputVideo() { } MTPDinputVideo(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputFileLocation : public mtpDataImpl { public: MTPDinputFileLocation() { } MTPDinputFileLocation(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) : vvolume_id(_volume_id), vlocal_id(_local_id), vsecret(_secret) { } MTPlong vvolume_id; MTPint vlocal_id; MTPlong vsecret; }; class MTPDinputVideoFileLocation : public mtpDataImpl { public: MTPDinputVideoFileLocation() { } MTPDinputVideoFileLocation(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputEncryptedFileLocation : public mtpDataImpl { public: MTPDinputEncryptedFileLocation() { } MTPDinputEncryptedFileLocation(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputAudioFileLocation : public mtpDataImpl { public: MTPDinputAudioFileLocation() { } MTPDinputAudioFileLocation(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputDocumentFileLocation : public mtpDataImpl { public: MTPDinputDocumentFileLocation() { } MTPDinputDocumentFileLocation(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputPhotoCrop : public mtpDataImpl { public: MTPDinputPhotoCrop() { } MTPDinputPhotoCrop(const MTPdouble &_crop_left, const MTPdouble &_crop_top, const MTPdouble &_crop_width) : vcrop_left(_crop_left), vcrop_top(_crop_top), vcrop_width(_crop_width) { } MTPdouble vcrop_left; MTPdouble vcrop_top; MTPdouble vcrop_width; }; class MTPDinputAppEvent : public mtpDataImpl { public: MTPDinputAppEvent() { } MTPDinputAppEvent(const MTPdouble &_time, const MTPstring &_type, const MTPlong &_peer, const MTPstring &_data) : vtime(_time), vtype(_type), vpeer(_peer), vdata(_data) { } MTPdouble vtime; MTPstring vtype; MTPlong vpeer; MTPstring vdata; }; class MTPDpeerUser : public mtpDataImpl { public: MTPDpeerUser() { } MTPDpeerUser(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDpeerChat : public mtpDataImpl { public: MTPDpeerChat() { } MTPDpeerChat(MTPint _chat_id) : vchat_id(_chat_id) { } MTPint vchat_id; }; class MTPDfileLocationUnavailable : public mtpDataImpl { public: MTPDfileLocationUnavailable() { } MTPDfileLocationUnavailable(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) : vvolume_id(_volume_id), vlocal_id(_local_id), vsecret(_secret) { } MTPlong vvolume_id; MTPint vlocal_id; MTPlong vsecret; }; class MTPDfileLocation : public mtpDataImpl { public: MTPDfileLocation() { } MTPDfileLocation(MTPint _dc_id, const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) : vdc_id(_dc_id), vvolume_id(_volume_id), vlocal_id(_local_id), vsecret(_secret) { } MTPint vdc_id; MTPlong vvolume_id; MTPint vlocal_id; MTPlong vsecret; }; class MTPDuserEmpty : public mtpDataImpl { public: MTPDuserEmpty() { } MTPDuserEmpty(MTPint _id) : vid(_id) { } MTPint vid; }; class MTPDuserSelf : public mtpDataImpl { public: MTPDuserSelf() { } MTPDuserSelf(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status, MTPBool _inactive) : vid(_id), vfirst_name(_first_name), vlast_name(_last_name), vphone(_phone), vphoto(_photo), vstatus(_status), vinactive(_inactive) { } MTPint vid; MTPstring vfirst_name; MTPstring vlast_name; MTPstring vphone; MTPUserProfilePhoto vphoto; MTPUserStatus vstatus; MTPBool vinactive; }; class MTPDuserContact : public mtpDataImpl { public: MTPDuserContact() { } MTPDuserContact(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) : vid(_id), vfirst_name(_first_name), vlast_name(_last_name), vaccess_hash(_access_hash), vphone(_phone), vphoto(_photo), vstatus(_status) { } MTPint vid; MTPstring vfirst_name; MTPstring vlast_name; MTPlong vaccess_hash; MTPstring vphone; MTPUserProfilePhoto vphoto; MTPUserStatus vstatus; }; class MTPDuserRequest : public mtpDataImpl { public: MTPDuserRequest() { } MTPDuserRequest(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) : vid(_id), vfirst_name(_first_name), vlast_name(_last_name), vaccess_hash(_access_hash), vphone(_phone), vphoto(_photo), vstatus(_status) { } MTPint vid; MTPstring vfirst_name; MTPstring vlast_name; MTPlong vaccess_hash; MTPstring vphone; MTPUserProfilePhoto vphoto; MTPUserStatus vstatus; }; class MTPDuserForeign : public mtpDataImpl { public: MTPDuserForeign() { } MTPDuserForeign(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) : vid(_id), vfirst_name(_first_name), vlast_name(_last_name), vaccess_hash(_access_hash), vphoto(_photo), vstatus(_status) { } MTPint vid; MTPstring vfirst_name; MTPstring vlast_name; MTPlong vaccess_hash; MTPUserProfilePhoto vphoto; MTPUserStatus vstatus; }; class MTPDuserDeleted : public mtpDataImpl { public: MTPDuserDeleted() { } MTPDuserDeleted(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name) : vid(_id), vfirst_name(_first_name), vlast_name(_last_name) { } MTPint vid; MTPstring vfirst_name; MTPstring vlast_name; }; class MTPDuserProfilePhoto : public mtpDataImpl { public: MTPDuserProfilePhoto() { } MTPDuserProfilePhoto(const MTPlong &_photo_id, const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big) : vphoto_id(_photo_id), vphoto_small(_photo_small), vphoto_big(_photo_big) { } MTPlong vphoto_id; MTPFileLocation vphoto_small; MTPFileLocation vphoto_big; }; class MTPDuserStatusOnline : public mtpDataImpl { public: MTPDuserStatusOnline() { } MTPDuserStatusOnline(MTPint _expires) : vexpires(_expires) { } MTPint vexpires; }; class MTPDuserStatusOffline : public mtpDataImpl { public: MTPDuserStatusOffline() { } MTPDuserStatusOffline(MTPint _was_online) : vwas_online(_was_online) { } MTPint vwas_online; }; class MTPDchatEmpty : public mtpDataImpl { public: MTPDchatEmpty() { } MTPDchatEmpty(MTPint _id) : vid(_id) { } MTPint vid; }; class MTPDchat : public mtpDataImpl { public: MTPDchat() { } MTPDchat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version) : vid(_id), vtitle(_title), vphoto(_photo), vparticipants_count(_participants_count), vdate(_date), vleft(_left), vversion(_version) { } MTPint vid; MTPstring vtitle; MTPChatPhoto vphoto; MTPint vparticipants_count; MTPint vdate; MTPBool vleft; MTPint vversion; }; class MTPDchatForbidden : public mtpDataImpl { public: MTPDchatForbidden() { } MTPDchatForbidden(MTPint _id, const MTPstring &_title, MTPint _date) : vid(_id), vtitle(_title), vdate(_date) { } MTPint vid; MTPstring vtitle; MTPint vdate; }; class MTPDgeoChat : public mtpDataImpl { public: MTPDgeoChat() { } MTPDgeoChat(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title, const MTPstring &_address, const MTPstring &_venue, const MTPGeoPoint &_geo, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _checked_in, MTPint _version) : vid(_id), vaccess_hash(_access_hash), vtitle(_title), vaddress(_address), vvenue(_venue), vgeo(_geo), vphoto(_photo), vparticipants_count(_participants_count), vdate(_date), vchecked_in(_checked_in), vversion(_version) { } MTPint vid; MTPlong vaccess_hash; MTPstring vtitle; MTPstring vaddress; MTPstring vvenue; MTPGeoPoint vgeo; MTPChatPhoto vphoto; MTPint vparticipants_count; MTPint vdate; MTPBool vchecked_in; MTPint vversion; }; class MTPDchatFull : public mtpDataImpl { public: MTPDchatFull() { } MTPDchatFull(MTPint _id, const MTPChatParticipants &_participants, const MTPPhoto &_chat_photo, const MTPPeerNotifySettings &_notify_settings) : vid(_id), vparticipants(_participants), vchat_photo(_chat_photo), vnotify_settings(_notify_settings) { } MTPint vid; MTPChatParticipants vparticipants; MTPPhoto vchat_photo; MTPPeerNotifySettings vnotify_settings; }; class MTPDchatParticipant : public mtpDataImpl { public: MTPDchatParticipant() { } MTPDchatParticipant(MTPint _user_id, MTPint _inviter_id, MTPint _date) : vuser_id(_user_id), vinviter_id(_inviter_id), vdate(_date) { } MTPint vuser_id; MTPint vinviter_id; MTPint vdate; }; class MTPDchatParticipantsForbidden : public mtpDataImpl { public: MTPDchatParticipantsForbidden() { } MTPDchatParticipantsForbidden(MTPint _chat_id) : vchat_id(_chat_id) { } MTPint vchat_id; }; class MTPDchatParticipants : public mtpDataImpl { public: MTPDchatParticipants() { } MTPDchatParticipants(MTPint _chat_id, MTPint _admin_id, const MTPVector &_participants, MTPint _version) : vchat_id(_chat_id), vadmin_id(_admin_id), vparticipants(_participants), vversion(_version) { } MTPint vchat_id; MTPint vadmin_id; MTPVector vparticipants; MTPint vversion; }; class MTPDchatPhoto : public mtpDataImpl { public: MTPDchatPhoto() { } MTPDchatPhoto(const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big) : vphoto_small(_photo_small), vphoto_big(_photo_big) { } MTPFileLocation vphoto_small; MTPFileLocation vphoto_big; }; class MTPDmessageEmpty : public mtpDataImpl { public: MTPDmessageEmpty() { } MTPDmessageEmpty(MTPint _id) : vid(_id) { } MTPint vid; }; class MTPDmessage : public mtpDataImpl { public: MTPDmessage() { } MTPDmessage(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) : vid(_id), vfrom_id(_from_id), vto_id(_to_id), vout(_out), vunread(_unread), vdate(_date), vmessage(_message), vmedia(_media) { } MTPint vid; MTPint vfrom_id; MTPPeer vto_id; MTPBool vout; MTPBool vunread; MTPint vdate; MTPstring vmessage; MTPMessageMedia vmedia; }; class MTPDmessageForwarded : public mtpDataImpl { public: MTPDmessageForwarded() { } MTPDmessageForwarded(MTPint _id, MTPint _fwd_from_id, MTPint _fwd_date, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) : vid(_id), vfwd_from_id(_fwd_from_id), vfwd_date(_fwd_date), vfrom_id(_from_id), vto_id(_to_id), vout(_out), vunread(_unread), vdate(_date), vmessage(_message), vmedia(_media) { } MTPint vid; MTPint vfwd_from_id; MTPint vfwd_date; MTPint vfrom_id; MTPPeer vto_id; MTPBool vout; MTPBool vunread; MTPint vdate; MTPstring vmessage; MTPMessageMedia vmedia; }; class MTPDmessageService : public mtpDataImpl { public: MTPDmessageService() { } MTPDmessageService(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPMessageAction &_action) : vid(_id), vfrom_id(_from_id), vto_id(_to_id), vout(_out), vunread(_unread), vdate(_date), vaction(_action) { } MTPint vid; MTPint vfrom_id; MTPPeer vto_id; MTPBool vout; MTPBool vunread; MTPint vdate; MTPMessageAction vaction; }; class MTPDmessageMediaPhoto : public mtpDataImpl { public: MTPDmessageMediaPhoto() { } MTPDmessageMediaPhoto(const MTPPhoto &_photo) : vphoto(_photo) { } MTPPhoto vphoto; }; class MTPDmessageMediaVideo : public mtpDataImpl { public: MTPDmessageMediaVideo() { } MTPDmessageMediaVideo(const MTPVideo &_video) : vvideo(_video) { } MTPVideo vvideo; }; class MTPDmessageMediaGeo : public mtpDataImpl { public: MTPDmessageMediaGeo() { } MTPDmessageMediaGeo(const MTPGeoPoint &_geo) : vgeo(_geo) { } MTPGeoPoint vgeo; }; class MTPDmessageMediaContact : public mtpDataImpl { public: MTPDmessageMediaContact() { } MTPDmessageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id) : vphone_number(_phone_number), vfirst_name(_first_name), vlast_name(_last_name), vuser_id(_user_id) { } MTPstring vphone_number; MTPstring vfirst_name; MTPstring vlast_name; MTPint vuser_id; }; class MTPDmessageMediaUnsupported : public mtpDataImpl { public: MTPDmessageMediaUnsupported() { } MTPDmessageMediaUnsupported(const MTPbytes &_bytes) : vbytes(_bytes) { } MTPbytes vbytes; }; class MTPDmessageMediaDocument : public mtpDataImpl { public: MTPDmessageMediaDocument() { } MTPDmessageMediaDocument(const MTPDocument &_document) : vdocument(_document) { } MTPDocument vdocument; }; class MTPDmessageMediaAudio : public mtpDataImpl { public: MTPDmessageMediaAudio() { } MTPDmessageMediaAudio(const MTPAudio &_audio) : vaudio(_audio) { } MTPAudio vaudio; }; class MTPDmessageActionChatCreate : public mtpDataImpl { public: MTPDmessageActionChatCreate() { } MTPDmessageActionChatCreate(const MTPstring &_title, const MTPVector &_users) : vtitle(_title), vusers(_users) { } MTPstring vtitle; MTPVector vusers; }; class MTPDmessageActionChatEditTitle : public mtpDataImpl { public: MTPDmessageActionChatEditTitle() { } MTPDmessageActionChatEditTitle(const MTPstring &_title) : vtitle(_title) { } MTPstring vtitle; }; class MTPDmessageActionChatEditPhoto : public mtpDataImpl { public: MTPDmessageActionChatEditPhoto() { } MTPDmessageActionChatEditPhoto(const MTPPhoto &_photo) : vphoto(_photo) { } MTPPhoto vphoto; }; class MTPDmessageActionChatAddUser : public mtpDataImpl { public: MTPDmessageActionChatAddUser() { } MTPDmessageActionChatAddUser(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDmessageActionChatDeleteUser : public mtpDataImpl { public: MTPDmessageActionChatDeleteUser() { } MTPDmessageActionChatDeleteUser(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDmessageActionGeoChatCreate : public mtpDataImpl { public: MTPDmessageActionGeoChatCreate() { } MTPDmessageActionGeoChatCreate(const MTPstring &_title, const MTPstring &_address) : vtitle(_title), vaddress(_address) { } MTPstring vtitle; MTPstring vaddress; }; class MTPDdialog : public mtpDataImpl { public: MTPDdialog() { } MTPDdialog(const MTPPeer &_peer, MTPint _top_message, MTPint _unread_count, const MTPPeerNotifySettings &_notify_settings) : vpeer(_peer), vtop_message(_top_message), vunread_count(_unread_count), vnotify_settings(_notify_settings) { } MTPPeer vpeer; MTPint vtop_message; MTPint vunread_count; MTPPeerNotifySettings vnotify_settings; }; class MTPDphotoEmpty : public mtpDataImpl { public: MTPDphotoEmpty() { } MTPDphotoEmpty(const MTPlong &_id) : vid(_id) { } MTPlong vid; }; class MTPDphoto : public mtpDataImpl { public: MTPDphoto() { } MTPDphoto(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, const MTPGeoPoint &_geo, const MTPVector &_sizes) : vid(_id), vaccess_hash(_access_hash), vuser_id(_user_id), vdate(_date), vcaption(_caption), vgeo(_geo), vsizes(_sizes) { } MTPlong vid; MTPlong vaccess_hash; MTPint vuser_id; MTPint vdate; MTPstring vcaption; MTPGeoPoint vgeo; MTPVector vsizes; }; class MTPDphotoSizeEmpty : public mtpDataImpl { public: MTPDphotoSizeEmpty() { } MTPDphotoSizeEmpty(const MTPstring &_type) : vtype(_type) { } MTPstring vtype; }; class MTPDphotoSize : public mtpDataImpl { public: MTPDphotoSize() { } MTPDphotoSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, MTPint _size) : vtype(_type), vlocation(_location), vw(_w), vh(_h), vsize(_size) { } MTPstring vtype; MTPFileLocation vlocation; MTPint vw; MTPint vh; MTPint vsize; }; class MTPDphotoCachedSize : public mtpDataImpl { public: MTPDphotoCachedSize() { } MTPDphotoCachedSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, const MTPbytes &_bytes) : vtype(_type), vlocation(_location), vw(_w), vh(_h), vbytes(_bytes) { } MTPstring vtype; MTPFileLocation vlocation; MTPint vw; MTPint vh; MTPbytes vbytes; }; class MTPDvideoEmpty : public mtpDataImpl { public: MTPDvideoEmpty() { } MTPDvideoEmpty(const MTPlong &_id) : vid(_id) { } MTPlong vid; }; class MTPDvideo : public mtpDataImpl { public: MTPDvideo() { } MTPDvideo(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id, MTPint _w, MTPint _h) : vid(_id), vaccess_hash(_access_hash), vuser_id(_user_id), vdate(_date), vcaption(_caption), vduration(_duration), vmime_type(_mime_type), vsize(_size), vthumb(_thumb), vdc_id(_dc_id), vw(_w), vh(_h) { } MTPlong vid; MTPlong vaccess_hash; MTPint vuser_id; MTPint vdate; MTPstring vcaption; MTPint vduration; MTPstring vmime_type; MTPint vsize; MTPPhotoSize vthumb; MTPint vdc_id; MTPint vw; MTPint vh; }; class MTPDgeoPoint : public mtpDataImpl { public: MTPDgeoPoint() { } MTPDgeoPoint(const MTPdouble &_long, const MTPdouble &_lat) : vlong(_long), vlat(_lat) { } MTPdouble vlong; MTPdouble vlat; }; class MTPDauth_checkedPhone : public mtpDataImpl { public: MTPDauth_checkedPhone() { } MTPDauth_checkedPhone(MTPBool _phone_registered, MTPBool _phone_invited) : vphone_registered(_phone_registered), vphone_invited(_phone_invited) { } MTPBool vphone_registered; MTPBool vphone_invited; }; class MTPDauth_sentCode : public mtpDataImpl { public: MTPDauth_sentCode() { } MTPDauth_sentCode(MTPBool _phone_registered, const MTPstring &_phone_code_hash, MTPint _send_call_timeout, MTPBool _is_password) : vphone_registered(_phone_registered), vphone_code_hash(_phone_code_hash), vsend_call_timeout(_send_call_timeout), vis_password(_is_password) { } MTPBool vphone_registered; MTPstring vphone_code_hash; MTPint vsend_call_timeout; MTPBool vis_password; }; class MTPDauth_authorization : public mtpDataImpl { public: MTPDauth_authorization() { } MTPDauth_authorization(MTPint _expires, const MTPUser &_user) : vexpires(_expires), vuser(_user) { } MTPint vexpires; MTPUser vuser; }; class MTPDauth_exportedAuthorization : public mtpDataImpl { public: MTPDauth_exportedAuthorization() { } MTPDauth_exportedAuthorization(MTPint _id, const MTPbytes &_bytes) : vid(_id), vbytes(_bytes) { } MTPint vid; MTPbytes vbytes; }; class MTPDinputNotifyPeer : public mtpDataImpl { public: MTPDinputNotifyPeer() { } MTPDinputNotifyPeer(const MTPInputPeer &_peer) : vpeer(_peer) { } MTPInputPeer vpeer; }; class MTPDinputNotifyGeoChatPeer : public mtpDataImpl { public: MTPDinputNotifyGeoChatPeer() { } MTPDinputNotifyGeoChatPeer(const MTPInputGeoChat &_peer) : vpeer(_peer) { } MTPInputGeoChat vpeer; }; class MTPDinputPeerNotifySettings : public mtpDataImpl { public: MTPDinputPeerNotifySettings() { } MTPDinputPeerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask) : vmute_until(_mute_until), vsound(_sound), vshow_previews(_show_previews), vevents_mask(_events_mask) { } MTPint vmute_until; MTPstring vsound; MTPBool vshow_previews; MTPint vevents_mask; }; class MTPDpeerNotifySettings : public mtpDataImpl { public: MTPDpeerNotifySettings() { } MTPDpeerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask) : vmute_until(_mute_until), vsound(_sound), vshow_previews(_show_previews), vevents_mask(_events_mask) { } MTPint vmute_until; MTPstring vsound; MTPBool vshow_previews; MTPint vevents_mask; }; class MTPDwallPaper : public mtpDataImpl { public: MTPDwallPaper() { } MTPDwallPaper(MTPint _id, const MTPstring &_title, const MTPVector &_sizes, MTPint _color) : vid(_id), vtitle(_title), vsizes(_sizes), vcolor(_color) { } MTPint vid; MTPstring vtitle; MTPVector vsizes; MTPint vcolor; }; class MTPDwallPaperSolid : public mtpDataImpl { public: MTPDwallPaperSolid() { } MTPDwallPaperSolid(MTPint _id, const MTPstring &_title, MTPint _bg_color, MTPint _color) : vid(_id), vtitle(_title), vbg_color(_bg_color), vcolor(_color) { } MTPint vid; MTPstring vtitle; MTPint vbg_color; MTPint vcolor; }; class MTPDuserFull : public mtpDataImpl { public: MTPDuserFull() { } MTPDuserFull(const MTPUser &_user, const MTPcontacts_Link &_link, const MTPPhoto &_profile_photo, const MTPPeerNotifySettings &_notify_settings, MTPBool _blocked, const MTPstring &_real_first_name, const MTPstring &_real_last_name) : vuser(_user), vlink(_link), vprofile_photo(_profile_photo), vnotify_settings(_notify_settings), vblocked(_blocked), vreal_first_name(_real_first_name), vreal_last_name(_real_last_name) { } MTPUser vuser; MTPcontacts_Link vlink; MTPPhoto vprofile_photo; MTPPeerNotifySettings vnotify_settings; MTPBool vblocked; MTPstring vreal_first_name; MTPstring vreal_last_name; }; class MTPDcontact : public mtpDataImpl { public: MTPDcontact() { } MTPDcontact(MTPint _user_id, MTPBool _mutual) : vuser_id(_user_id), vmutual(_mutual) { } MTPint vuser_id; MTPBool vmutual; }; class MTPDimportedContact : public mtpDataImpl { public: MTPDimportedContact() { } MTPDimportedContact(MTPint _user_id, const MTPlong &_client_id) : vuser_id(_user_id), vclient_id(_client_id) { } MTPint vuser_id; MTPlong vclient_id; }; class MTPDcontactBlocked : public mtpDataImpl { public: MTPDcontactBlocked() { } MTPDcontactBlocked(MTPint _user_id, MTPint _date) : vuser_id(_user_id), vdate(_date) { } MTPint vuser_id; MTPint vdate; }; class MTPDcontactFound : public mtpDataImpl { public: MTPDcontactFound() { } MTPDcontactFound(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDcontactSuggested : public mtpDataImpl { public: MTPDcontactSuggested() { } MTPDcontactSuggested(MTPint _user_id, MTPint _mutual_contacts) : vuser_id(_user_id), vmutual_contacts(_mutual_contacts) { } MTPint vuser_id; MTPint vmutual_contacts; }; class MTPDcontactStatus : public mtpDataImpl { public: MTPDcontactStatus() { } MTPDcontactStatus(MTPint _user_id, MTPint _expires) : vuser_id(_user_id), vexpires(_expires) { } MTPint vuser_id; MTPint vexpires; }; class MTPDchatLocated : public mtpDataImpl { public: MTPDchatLocated() { } MTPDchatLocated(MTPint _chat_id, MTPint _distance) : vchat_id(_chat_id), vdistance(_distance) { } MTPint vchat_id; MTPint vdistance; }; class MTPDcontacts_foreignLinkRequested : public mtpDataImpl { public: MTPDcontacts_foreignLinkRequested() { } MTPDcontacts_foreignLinkRequested(MTPBool _has_phone) : vhas_phone(_has_phone) { } MTPBool vhas_phone; }; class MTPDcontacts_myLinkRequested : public mtpDataImpl { public: MTPDcontacts_myLinkRequested() { } MTPDcontacts_myLinkRequested(MTPBool _contact) : vcontact(_contact) { } MTPBool vcontact; }; class MTPDcontacts_link : public mtpDataImpl { public: MTPDcontacts_link() { } MTPDcontacts_link(const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link, const MTPUser &_user) : vmy_link(_my_link), vforeign_link(_foreign_link), vuser(_user) { } MTPcontacts_MyLink vmy_link; MTPcontacts_ForeignLink vforeign_link; MTPUser vuser; }; class MTPDcontacts_contacts : public mtpDataImpl { public: MTPDcontacts_contacts() { } MTPDcontacts_contacts(const MTPVector &_contacts, const MTPVector &_users) : vcontacts(_contacts), vusers(_users) { } MTPVector vcontacts; MTPVector vusers; }; class MTPDcontacts_importedContacts : public mtpDataImpl { public: MTPDcontacts_importedContacts() { } MTPDcontacts_importedContacts(const MTPVector &_imported, const MTPVector &_retry_contacts, const MTPVector &_users) : vimported(_imported), vretry_contacts(_retry_contacts), vusers(_users) { } MTPVector vimported; MTPVector vretry_contacts; MTPVector vusers; }; class MTPDcontacts_blocked : public mtpDataImpl { public: MTPDcontacts_blocked() { } MTPDcontacts_blocked(const MTPVector &_blocked, const MTPVector &_users) : vblocked(_blocked), vusers(_users) { } MTPVector vblocked; MTPVector vusers; }; class MTPDcontacts_blockedSlice : public mtpDataImpl { public: MTPDcontacts_blockedSlice() { } MTPDcontacts_blockedSlice(MTPint _count, const MTPVector &_blocked, const MTPVector &_users) : vcount(_count), vblocked(_blocked), vusers(_users) { } MTPint vcount; MTPVector vblocked; MTPVector vusers; }; class MTPDcontacts_found : public mtpDataImpl { public: MTPDcontacts_found() { } MTPDcontacts_found(const MTPVector &_results, const MTPVector &_users) : vresults(_results), vusers(_users) { } MTPVector vresults; MTPVector vusers; }; class MTPDcontacts_suggested : public mtpDataImpl { public: MTPDcontacts_suggested() { } MTPDcontacts_suggested(const MTPVector &_results, const MTPVector &_users) : vresults(_results), vusers(_users) { } MTPVector vresults; MTPVector vusers; }; class MTPDmessages_dialogs : public mtpDataImpl { public: MTPDmessages_dialogs() { } MTPDmessages_dialogs(const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vdialogs(_dialogs), vmessages(_messages), vchats(_chats), vusers(_users) { } MTPVector vdialogs; MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_dialogsSlice : public mtpDataImpl { public: MTPDmessages_dialogsSlice() { } MTPDmessages_dialogsSlice(MTPint _count, const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vcount(_count), vdialogs(_dialogs), vmessages(_messages), vchats(_chats), vusers(_users) { } MTPint vcount; MTPVector vdialogs; MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_messages : public mtpDataImpl { public: MTPDmessages_messages() { } MTPDmessages_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vmessages(_messages), vchats(_chats), vusers(_users) { } MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_messagesSlice : public mtpDataImpl { public: MTPDmessages_messagesSlice() { } MTPDmessages_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vcount(_count), vmessages(_messages), vchats(_chats), vusers(_users) { } MTPint vcount; MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_message : public mtpDataImpl { public: MTPDmessages_message() { } MTPDmessages_message(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users) : vmessage(_message), vchats(_chats), vusers(_users) { } MTPMessage vmessage; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_statedMessages : public mtpDataImpl { public: MTPDmessages_statedMessages() { } MTPDmessages_statedMessages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq) : vmessages(_messages), vchats(_chats), vusers(_users), vpts(_pts), vseq(_seq) { } MTPVector vmessages; MTPVector vchats; MTPVector vusers; MTPint vpts; MTPint vseq; }; class MTPDmessages_statedMessagesLinks : public mtpDataImpl { public: MTPDmessages_statedMessagesLinks() { } MTPDmessages_statedMessagesLinks(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq) : vmessages(_messages), vchats(_chats), vusers(_users), vlinks(_links), vpts(_pts), vseq(_seq) { } MTPVector vmessages; MTPVector vchats; MTPVector vusers; MTPVector vlinks; MTPint vpts; MTPint vseq; }; class MTPDmessages_statedMessage : public mtpDataImpl { public: MTPDmessages_statedMessage() { } MTPDmessages_statedMessage(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq) : vmessage(_message), vchats(_chats), vusers(_users), vpts(_pts), vseq(_seq) { } MTPMessage vmessage; MTPVector vchats; MTPVector vusers; MTPint vpts; MTPint vseq; }; class MTPDmessages_statedMessageLink : public mtpDataImpl { public: MTPDmessages_statedMessageLink() { } MTPDmessages_statedMessageLink(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq) : vmessage(_message), vchats(_chats), vusers(_users), vlinks(_links), vpts(_pts), vseq(_seq) { } MTPMessage vmessage; MTPVector vchats; MTPVector vusers; MTPVector vlinks; MTPint vpts; MTPint vseq; }; class MTPDmessages_sentMessage : public mtpDataImpl { public: MTPDmessages_sentMessage() { } MTPDmessages_sentMessage(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq) : vid(_id), vdate(_date), vpts(_pts), vseq(_seq) { } MTPint vid; MTPint vdate; MTPint vpts; MTPint vseq; }; class MTPDmessages_sentMessageLink : public mtpDataImpl { public: MTPDmessages_sentMessageLink() { } MTPDmessages_sentMessageLink(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq, const MTPVector &_links) : vid(_id), vdate(_date), vpts(_pts), vseq(_seq), vlinks(_links) { } MTPint vid; MTPint vdate; MTPint vpts; MTPint vseq; MTPVector vlinks; }; class MTPDmessages_chat : public mtpDataImpl { public: MTPDmessages_chat() { } MTPDmessages_chat(const MTPChat &_chat, const MTPVector &_users) : vchat(_chat), vusers(_users) { } MTPChat vchat; MTPVector vusers; }; class MTPDmessages_chats : public mtpDataImpl { public: MTPDmessages_chats() { } MTPDmessages_chats(const MTPVector &_chats, const MTPVector &_users) : vchats(_chats), vusers(_users) { } MTPVector vchats; MTPVector vusers; }; class MTPDmessages_chatFull : public mtpDataImpl { public: MTPDmessages_chatFull() { } MTPDmessages_chatFull(const MTPChatFull &_full_chat, const MTPVector &_chats, const MTPVector &_users) : vfull_chat(_full_chat), vchats(_chats), vusers(_users) { } MTPChatFull vfull_chat; MTPVector vchats; MTPVector vusers; }; class MTPDmessages_affectedHistory : public mtpDataImpl { public: MTPDmessages_affectedHistory() { } MTPDmessages_affectedHistory(MTPint _pts, MTPint _seq, MTPint _offset) : vpts(_pts), vseq(_seq), voffset(_offset) { } MTPint vpts; MTPint vseq; MTPint voffset; }; class MTPDupdateNewMessage : public mtpDataImpl { public: MTPDupdateNewMessage() { } MTPDupdateNewMessage(const MTPMessage &_message, MTPint _pts) : vmessage(_message), vpts(_pts) { } MTPMessage vmessage; MTPint vpts; }; class MTPDupdateMessageID : public mtpDataImpl { public: MTPDupdateMessageID() { } MTPDupdateMessageID(MTPint _id, const MTPlong &_random_id) : vid(_id), vrandom_id(_random_id) { } MTPint vid; MTPlong vrandom_id; }; class MTPDupdateReadMessages : public mtpDataImpl { public: MTPDupdateReadMessages() { } MTPDupdateReadMessages(const MTPVector &_messages, MTPint _pts) : vmessages(_messages), vpts(_pts) { } MTPVector vmessages; MTPint vpts; }; class MTPDupdateDeleteMessages : public mtpDataImpl { public: MTPDupdateDeleteMessages() { } MTPDupdateDeleteMessages(const MTPVector &_messages, MTPint _pts) : vmessages(_messages), vpts(_pts) { } MTPVector vmessages; MTPint vpts; }; class MTPDupdateRestoreMessages : public mtpDataImpl { public: MTPDupdateRestoreMessages() { } MTPDupdateRestoreMessages(const MTPVector &_messages, MTPint _pts) : vmessages(_messages), vpts(_pts) { } MTPVector vmessages; MTPint vpts; }; class MTPDupdateUserTyping : public mtpDataImpl { public: MTPDupdateUserTyping() { } MTPDupdateUserTyping(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDupdateChatUserTyping : public mtpDataImpl { public: MTPDupdateChatUserTyping() { } MTPDupdateChatUserTyping(MTPint _chat_id, MTPint _user_id) : vchat_id(_chat_id), vuser_id(_user_id) { } MTPint vchat_id; MTPint vuser_id; }; class MTPDupdateChatParticipants : public mtpDataImpl { public: MTPDupdateChatParticipants() { } MTPDupdateChatParticipants(const MTPChatParticipants &_participants) : vparticipants(_participants) { } MTPChatParticipants vparticipants; }; class MTPDupdateUserStatus : public mtpDataImpl { public: MTPDupdateUserStatus() { } MTPDupdateUserStatus(MTPint _user_id, const MTPUserStatus &_status) : vuser_id(_user_id), vstatus(_status) { } MTPint vuser_id; MTPUserStatus vstatus; }; class MTPDupdateUserName : public mtpDataImpl { public: MTPDupdateUserName() { } MTPDupdateUserName(MTPint _user_id, const MTPstring &_first_name, const MTPstring &_last_name) : vuser_id(_user_id), vfirst_name(_first_name), vlast_name(_last_name) { } MTPint vuser_id; MTPstring vfirst_name; MTPstring vlast_name; }; class MTPDupdateUserPhoto : public mtpDataImpl { public: MTPDupdateUserPhoto() { } MTPDupdateUserPhoto(MTPint _user_id, MTPint _date, const MTPUserProfilePhoto &_photo, MTPBool _previous) : vuser_id(_user_id), vdate(_date), vphoto(_photo), vprevious(_previous) { } MTPint vuser_id; MTPint vdate; MTPUserProfilePhoto vphoto; MTPBool vprevious; }; class MTPDupdateContactRegistered : public mtpDataImpl { public: MTPDupdateContactRegistered() { } MTPDupdateContactRegistered(MTPint _user_id, MTPint _date) : vuser_id(_user_id), vdate(_date) { } MTPint vuser_id; MTPint vdate; }; class MTPDupdateContactLink : public mtpDataImpl { public: MTPDupdateContactLink() { } MTPDupdateContactLink(MTPint _user_id, const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link) : vuser_id(_user_id), vmy_link(_my_link), vforeign_link(_foreign_link) { } MTPint vuser_id; MTPcontacts_MyLink vmy_link; MTPcontacts_ForeignLink vforeign_link; }; class MTPDupdateActivation : public mtpDataImpl { public: MTPDupdateActivation() { } MTPDupdateActivation(MTPint _user_id) : vuser_id(_user_id) { } MTPint vuser_id; }; class MTPDupdateNewAuthorization : public mtpDataImpl { public: MTPDupdateNewAuthorization() { } MTPDupdateNewAuthorization(const MTPlong &_auth_key_id, MTPint _date, const MTPstring &_device, const MTPstring &_location) : vauth_key_id(_auth_key_id), vdate(_date), vdevice(_device), vlocation(_location) { } MTPlong vauth_key_id; MTPint vdate; MTPstring vdevice; MTPstring vlocation; }; class MTPDupdateNewGeoChatMessage : public mtpDataImpl { public: MTPDupdateNewGeoChatMessage() { } MTPDupdateNewGeoChatMessage(const MTPGeoChatMessage &_message) : vmessage(_message) { } MTPGeoChatMessage vmessage; }; class MTPDupdateNewEncryptedMessage : public mtpDataImpl { public: MTPDupdateNewEncryptedMessage() { } MTPDupdateNewEncryptedMessage(const MTPEncryptedMessage &_message, MTPint _qts) : vmessage(_message), vqts(_qts) { } MTPEncryptedMessage vmessage; MTPint vqts; }; class MTPDupdateEncryptedChatTyping : public mtpDataImpl { public: MTPDupdateEncryptedChatTyping() { } MTPDupdateEncryptedChatTyping(MTPint _chat_id) : vchat_id(_chat_id) { } MTPint vchat_id; }; class MTPDupdateEncryption : public mtpDataImpl { public: MTPDupdateEncryption() { } MTPDupdateEncryption(const MTPEncryptedChat &_chat, MTPint _date) : vchat(_chat), vdate(_date) { } MTPEncryptedChat vchat; MTPint vdate; }; class MTPDupdateEncryptedMessagesRead : public mtpDataImpl { public: MTPDupdateEncryptedMessagesRead() { } MTPDupdateEncryptedMessagesRead(MTPint _chat_id, MTPint _max_date, MTPint _date) : vchat_id(_chat_id), vmax_date(_max_date), vdate(_date) { } MTPint vchat_id; MTPint vmax_date; MTPint vdate; }; class MTPDupdateChatParticipantAdd : public mtpDataImpl { public: MTPDupdateChatParticipantAdd() { } MTPDupdateChatParticipantAdd(MTPint _chat_id, MTPint _user_id, MTPint _inviter_id, MTPint _version) : vchat_id(_chat_id), vuser_id(_user_id), vinviter_id(_inviter_id), vversion(_version) { } MTPint vchat_id; MTPint vuser_id; MTPint vinviter_id; MTPint vversion; }; class MTPDupdateChatParticipantDelete : public mtpDataImpl { public: MTPDupdateChatParticipantDelete() { } MTPDupdateChatParticipantDelete(MTPint _chat_id, MTPint _user_id, MTPint _version) : vchat_id(_chat_id), vuser_id(_user_id), vversion(_version) { } MTPint vchat_id; MTPint vuser_id; MTPint vversion; }; class MTPDupdateDcOptions : public mtpDataImpl { public: MTPDupdateDcOptions() { } MTPDupdateDcOptions(const MTPVector &_dc_options) : vdc_options(_dc_options) { } MTPVector vdc_options; }; class MTPDupdateUserBlocked : public mtpDataImpl { public: MTPDupdateUserBlocked() { } MTPDupdateUserBlocked(MTPint _user_id, MTPBool _blocked) : vuser_id(_user_id), vblocked(_blocked) { } MTPint vuser_id; MTPBool vblocked; }; class MTPDupdateNotifySettings : public mtpDataImpl { public: MTPDupdateNotifySettings() { } MTPDupdateNotifySettings(const MTPNotifyPeer &_peer, const MTPPeerNotifySettings &_notify_settings) : vpeer(_peer), vnotify_settings(_notify_settings) { } MTPNotifyPeer vpeer; MTPPeerNotifySettings vnotify_settings; }; class MTPDupdates_state : public mtpDataImpl { public: MTPDupdates_state() { } MTPDupdates_state(MTPint _pts, MTPint _qts, MTPint _date, MTPint _seq, MTPint _unread_count) : vpts(_pts), vqts(_qts), vdate(_date), vseq(_seq), vunread_count(_unread_count) { } MTPint vpts; MTPint vqts; MTPint vdate; MTPint vseq; MTPint vunread_count; }; class MTPDupdates_differenceEmpty : public mtpDataImpl { public: MTPDupdates_differenceEmpty() { } MTPDupdates_differenceEmpty(MTPint _date, MTPint _seq) : vdate(_date), vseq(_seq) { } MTPint vdate; MTPint vseq; }; class MTPDupdates_difference : public mtpDataImpl { public: MTPDupdates_difference() { } MTPDupdates_difference(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_state) : vnew_messages(_new_messages), vnew_encrypted_messages(_new_encrypted_messages), vother_updates(_other_updates), vchats(_chats), vusers(_users), vstate(_state) { } MTPVector vnew_messages; MTPVector vnew_encrypted_messages; MTPVector vother_updates; MTPVector vchats; MTPVector vusers; MTPupdates_State vstate; }; class MTPDupdates_differenceSlice : public mtpDataImpl { public: MTPDupdates_differenceSlice() { } MTPDupdates_differenceSlice(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_intermediate_state) : vnew_messages(_new_messages), vnew_encrypted_messages(_new_encrypted_messages), vother_updates(_other_updates), vchats(_chats), vusers(_users), vintermediate_state(_intermediate_state) { } MTPVector vnew_messages; MTPVector vnew_encrypted_messages; MTPVector vother_updates; MTPVector vchats; MTPVector vusers; MTPupdates_State vintermediate_state; }; class MTPDupdateShortMessage : public mtpDataImpl { public: MTPDupdateShortMessage() { } MTPDupdateShortMessage(MTPint _id, MTPint _from_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq) : vid(_id), vfrom_id(_from_id), vmessage(_message), vpts(_pts), vdate(_date), vseq(_seq) { } MTPint vid; MTPint vfrom_id; MTPstring vmessage; MTPint vpts; MTPint vdate; MTPint vseq; }; class MTPDupdateShortChatMessage : public mtpDataImpl { public: MTPDupdateShortChatMessage() { } MTPDupdateShortChatMessage(MTPint _id, MTPint _from_id, MTPint _chat_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq) : vid(_id), vfrom_id(_from_id), vchat_id(_chat_id), vmessage(_message), vpts(_pts), vdate(_date), vseq(_seq) { } MTPint vid; MTPint vfrom_id; MTPint vchat_id; MTPstring vmessage; MTPint vpts; MTPint vdate; MTPint vseq; }; class MTPDupdateShort : public mtpDataImpl { public: MTPDupdateShort() { } MTPDupdateShort(const MTPUpdate &_update, MTPint _date) : vupdate(_update), vdate(_date) { } MTPUpdate vupdate; MTPint vdate; }; class MTPDupdatesCombined : public mtpDataImpl { public: MTPDupdatesCombined() { } MTPDupdatesCombined(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq_start, MTPint _seq) : vupdates(_updates), vusers(_users), vchats(_chats), vdate(_date), vseq_start(_seq_start), vseq(_seq) { } MTPVector vupdates; MTPVector vusers; MTPVector vchats; MTPint vdate; MTPint vseq_start; MTPint vseq; }; class MTPDupdates : public mtpDataImpl { public: MTPDupdates() { } MTPDupdates(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq) : vupdates(_updates), vusers(_users), vchats(_chats), vdate(_date), vseq(_seq) { } MTPVector vupdates; MTPVector vusers; MTPVector vchats; MTPint vdate; MTPint vseq; }; class MTPDphotos_photos : public mtpDataImpl { public: MTPDphotos_photos() { } MTPDphotos_photos(const MTPVector &_photos, const MTPVector &_users) : vphotos(_photos), vusers(_users) { } MTPVector vphotos; MTPVector vusers; }; class MTPDphotos_photosSlice : public mtpDataImpl { public: MTPDphotos_photosSlice() { } MTPDphotos_photosSlice(MTPint _count, const MTPVector &_photos, const MTPVector &_users) : vcount(_count), vphotos(_photos), vusers(_users) { } MTPint vcount; MTPVector vphotos; MTPVector vusers; }; class MTPDphotos_photo : public mtpDataImpl { public: MTPDphotos_photo() { } MTPDphotos_photo(const MTPPhoto &_photo, const MTPVector &_users) : vphoto(_photo), vusers(_users) { } MTPPhoto vphoto; MTPVector vusers; }; class MTPDupload_file : public mtpDataImpl { public: MTPDupload_file() { } MTPDupload_file(const MTPstorage_FileType &_type, MTPint _mtime, const MTPbytes &_bytes) : vtype(_type), vmtime(_mtime), vbytes(_bytes) { } MTPstorage_FileType vtype; MTPint vmtime; MTPbytes vbytes; }; class MTPDdcOption : public mtpDataImpl { public: MTPDdcOption() { } MTPDdcOption(MTPint _id, const MTPstring &_hostname, const MTPstring &_ip_address, MTPint _port) : vid(_id), vhostname(_hostname), vip_address(_ip_address), vport(_port) { } MTPint vid; MTPstring vhostname; MTPstring vip_address; MTPint vport; }; class MTPDconfig : public mtpDataImpl { public: MTPDconfig() { } MTPDconfig(MTPint _date, MTPBool _test_mode, MTPint _this_dc, const MTPVector &_dc_options, MTPint _chat_size_max, MTPint _broadcast_size_max) : vdate(_date), vtest_mode(_test_mode), vthis_dc(_this_dc), vdc_options(_dc_options), vchat_size_max(_chat_size_max), vbroadcast_size_max(_broadcast_size_max) { } MTPint vdate; MTPBool vtest_mode; MTPint vthis_dc; MTPVector vdc_options; MTPint vchat_size_max; MTPint vbroadcast_size_max; }; class MTPDnearestDc : public mtpDataImpl { public: MTPDnearestDc() { } MTPDnearestDc(const MTPstring &_country, MTPint _this_dc, MTPint _nearest_dc) : vcountry(_country), vthis_dc(_this_dc), vnearest_dc(_nearest_dc) { } MTPstring vcountry; MTPint vthis_dc; MTPint vnearest_dc; }; class MTPDhelp_appUpdate : public mtpDataImpl { public: MTPDhelp_appUpdate() { } MTPDhelp_appUpdate(MTPint _id, MTPBool _critical, const MTPstring &_url, const MTPstring &_text) : vid(_id), vcritical(_critical), vurl(_url), vtext(_text) { } MTPint vid; MTPBool vcritical; MTPstring vurl; MTPstring vtext; }; class MTPDhelp_inviteText : public mtpDataImpl { public: MTPDhelp_inviteText() { } MTPDhelp_inviteText(const MTPstring &_message) : vmessage(_message) { } MTPstring vmessage; }; class MTPDinputGeoChat : public mtpDataImpl { public: MTPDinputGeoChat() { } MTPDinputGeoChat(MTPint _chat_id, const MTPlong &_access_hash) : vchat_id(_chat_id), vaccess_hash(_access_hash) { } MTPint vchat_id; MTPlong vaccess_hash; }; class MTPDgeoChatMessageEmpty : public mtpDataImpl { public: MTPDgeoChatMessageEmpty() { } MTPDgeoChatMessageEmpty(MTPint _chat_id, MTPint _id) : vchat_id(_chat_id), vid(_id) { } MTPint vchat_id; MTPint vid; }; class MTPDgeoChatMessage : public mtpDataImpl { public: MTPDgeoChatMessage() { } MTPDgeoChatMessage(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) : vchat_id(_chat_id), vid(_id), vfrom_id(_from_id), vdate(_date), vmessage(_message), vmedia(_media) { } MTPint vchat_id; MTPint vid; MTPint vfrom_id; MTPint vdate; MTPstring vmessage; MTPMessageMedia vmedia; }; class MTPDgeoChatMessageService : public mtpDataImpl { public: MTPDgeoChatMessageService() { } MTPDgeoChatMessageService(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPMessageAction &_action) : vchat_id(_chat_id), vid(_id), vfrom_id(_from_id), vdate(_date), vaction(_action) { } MTPint vchat_id; MTPint vid; MTPint vfrom_id; MTPint vdate; MTPMessageAction vaction; }; class MTPDgeochats_statedMessage : public mtpDataImpl { public: MTPDgeochats_statedMessage() { } MTPDgeochats_statedMessage(const MTPGeoChatMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _seq) : vmessage(_message), vchats(_chats), vusers(_users), vseq(_seq) { } MTPGeoChatMessage vmessage; MTPVector vchats; MTPVector vusers; MTPint vseq; }; class MTPDgeochats_located : public mtpDataImpl { public: MTPDgeochats_located() { } MTPDgeochats_located(const MTPVector &_results, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vresults(_results), vmessages(_messages), vchats(_chats), vusers(_users) { } MTPVector vresults; MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDgeochats_messages : public mtpDataImpl { public: MTPDgeochats_messages() { } MTPDgeochats_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vmessages(_messages), vchats(_chats), vusers(_users) { } MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDgeochats_messagesSlice : public mtpDataImpl { public: MTPDgeochats_messagesSlice() { } MTPDgeochats_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) : vcount(_count), vmessages(_messages), vchats(_chats), vusers(_users) { } MTPint vcount; MTPVector vmessages; MTPVector vchats; MTPVector vusers; }; class MTPDencryptedChatEmpty : public mtpDataImpl { public: MTPDencryptedChatEmpty() { } MTPDencryptedChatEmpty(MTPint _id) : vid(_id) { } MTPint vid; }; class MTPDencryptedChatWaiting : public mtpDataImpl { public: MTPDencryptedChatWaiting() { } MTPDencryptedChatWaiting(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id) : vid(_id), vaccess_hash(_access_hash), vdate(_date), vadmin_id(_admin_id), vparticipant_id(_participant_id) { } MTPint vid; MTPlong vaccess_hash; MTPint vdate; MTPint vadmin_id; MTPint vparticipant_id; }; class MTPDencryptedChatRequested : public mtpDataImpl { public: MTPDencryptedChatRequested() { } MTPDencryptedChatRequested(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a) : vid(_id), vaccess_hash(_access_hash), vdate(_date), vadmin_id(_admin_id), vparticipant_id(_participant_id), vg_a(_g_a) { } MTPint vid; MTPlong vaccess_hash; MTPint vdate; MTPint vadmin_id; MTPint vparticipant_id; MTPbytes vg_a; }; class MTPDencryptedChat : public mtpDataImpl { public: MTPDencryptedChat() { } MTPDencryptedChat(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a_or_b, const MTPlong &_key_fingerprint) : vid(_id), vaccess_hash(_access_hash), vdate(_date), vadmin_id(_admin_id), vparticipant_id(_participant_id), vg_a_or_b(_g_a_or_b), vkey_fingerprint(_key_fingerprint) { } MTPint vid; MTPlong vaccess_hash; MTPint vdate; MTPint vadmin_id; MTPint vparticipant_id; MTPbytes vg_a_or_b; MTPlong vkey_fingerprint; }; class MTPDencryptedChatDiscarded : public mtpDataImpl { public: MTPDencryptedChatDiscarded() { } MTPDencryptedChatDiscarded(MTPint _id) : vid(_id) { } MTPint vid; }; class MTPDinputEncryptedChat : public mtpDataImpl { public: MTPDinputEncryptedChat() { } MTPDinputEncryptedChat(MTPint _chat_id, const MTPlong &_access_hash) : vchat_id(_chat_id), vaccess_hash(_access_hash) { } MTPint vchat_id; MTPlong vaccess_hash; }; class MTPDencryptedFile : public mtpDataImpl { public: MTPDencryptedFile() { } MTPDencryptedFile(const MTPlong &_id, const MTPlong &_access_hash, MTPint _size, MTPint _dc_id, MTPint _key_fingerprint) : vid(_id), vaccess_hash(_access_hash), vsize(_size), vdc_id(_dc_id), vkey_fingerprint(_key_fingerprint) { } MTPlong vid; MTPlong vaccess_hash; MTPint vsize; MTPint vdc_id; MTPint vkey_fingerprint; }; class MTPDinputEncryptedFileUploaded : public mtpDataImpl { public: MTPDinputEncryptedFileUploaded() { } MTPDinputEncryptedFileUploaded(const MTPlong &_id, MTPint _parts, const MTPstring &_md5_checksum, MTPint _key_fingerprint) : vid(_id), vparts(_parts), vmd5_checksum(_md5_checksum), vkey_fingerprint(_key_fingerprint) { } MTPlong vid; MTPint vparts; MTPstring vmd5_checksum; MTPint vkey_fingerprint; }; class MTPDinputEncryptedFile : public mtpDataImpl { public: MTPDinputEncryptedFile() { } MTPDinputEncryptedFile(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputEncryptedFileBigUploaded : public mtpDataImpl { public: MTPDinputEncryptedFileBigUploaded() { } MTPDinputEncryptedFileBigUploaded(const MTPlong &_id, MTPint _parts, MTPint _key_fingerprint) : vid(_id), vparts(_parts), vkey_fingerprint(_key_fingerprint) { } MTPlong vid; MTPint vparts; MTPint vkey_fingerprint; }; class MTPDencryptedMessage : public mtpDataImpl { public: MTPDencryptedMessage() { } MTPDencryptedMessage(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes, const MTPEncryptedFile &_file) : vrandom_id(_random_id), vchat_id(_chat_id), vdate(_date), vbytes(_bytes), vfile(_file) { } MTPlong vrandom_id; MTPint vchat_id; MTPint vdate; MTPbytes vbytes; MTPEncryptedFile vfile; }; class MTPDencryptedMessageService : public mtpDataImpl { public: MTPDencryptedMessageService() { } MTPDencryptedMessageService(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes) : vrandom_id(_random_id), vchat_id(_chat_id), vdate(_date), vbytes(_bytes) { } MTPlong vrandom_id; MTPint vchat_id; MTPint vdate; MTPbytes vbytes; }; class MTPDdecryptedMessageLayer : public mtpDataImpl { public: MTPDdecryptedMessageLayer() { } MTPDdecryptedMessageLayer(MTPint _layer, const MTPDecryptedMessage &_message) : vlayer(_layer), vmessage(_message) { } MTPint vlayer; MTPDecryptedMessage vmessage; }; class MTPDdecryptedMessage : public mtpDataImpl { public: MTPDdecryptedMessage() { } MTPDdecryptedMessage(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPstring &_message, const MTPDecryptedMessageMedia &_media) : vrandom_id(_random_id), vrandom_bytes(_random_bytes), vmessage(_message), vmedia(_media) { } MTPlong vrandom_id; MTPbytes vrandom_bytes; MTPstring vmessage; MTPDecryptedMessageMedia vmedia; }; class MTPDdecryptedMessageService : public mtpDataImpl { public: MTPDdecryptedMessageService() { } MTPDdecryptedMessageService(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPDecryptedMessageAction &_action) : vrandom_id(_random_id), vrandom_bytes(_random_bytes), vaction(_action) { } MTPlong vrandom_id; MTPbytes vrandom_bytes; MTPDecryptedMessageAction vaction; }; class MTPDdecryptedMessageMediaPhoto : public mtpDataImpl { public: MTPDdecryptedMessageMediaPhoto() { } MTPDdecryptedMessageMediaPhoto(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) : vthumb(_thumb), vthumb_w(_thumb_w), vthumb_h(_thumb_h), vw(_w), vh(_h), vsize(_size), vkey(_key), viv(_iv) { } MTPbytes vthumb; MTPint vthumb_w; MTPint vthumb_h; MTPint vw; MTPint vh; MTPint vsize; MTPbytes vkey; MTPbytes viv; }; class MTPDdecryptedMessageMediaVideo : public mtpDataImpl { public: MTPDdecryptedMessageMediaVideo() { } MTPDdecryptedMessageMediaVideo(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _duration, const MTPstring &_mime_type, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) : vthumb(_thumb), vthumb_w(_thumb_w), vthumb_h(_thumb_h), vduration(_duration), vmime_type(_mime_type), vw(_w), vh(_h), vsize(_size), vkey(_key), viv(_iv) { } MTPbytes vthumb; MTPint vthumb_w; MTPint vthumb_h; MTPint vduration; MTPstring vmime_type; MTPint vw; MTPint vh; MTPint vsize; MTPbytes vkey; MTPbytes viv; }; class MTPDdecryptedMessageMediaGeoPoint : public mtpDataImpl { public: MTPDdecryptedMessageMediaGeoPoint() { } MTPDdecryptedMessageMediaGeoPoint(const MTPdouble &_lat, const MTPdouble &_long) : vlat(_lat), vlong(_long) { } MTPdouble vlat; MTPdouble vlong; }; class MTPDdecryptedMessageMediaContact : public mtpDataImpl { public: MTPDdecryptedMessageMediaContact() { } MTPDdecryptedMessageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id) : vphone_number(_phone_number), vfirst_name(_first_name), vlast_name(_last_name), vuser_id(_user_id) { } MTPstring vphone_number; MTPstring vfirst_name; MTPstring vlast_name; MTPint vuser_id; }; class MTPDdecryptedMessageMediaDocument : public mtpDataImpl { public: MTPDdecryptedMessageMediaDocument() { } MTPDdecryptedMessageMediaDocument(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) : vthumb(_thumb), vthumb_w(_thumb_w), vthumb_h(_thumb_h), vfile_name(_file_name), vmime_type(_mime_type), vsize(_size), vkey(_key), viv(_iv) { } MTPbytes vthumb; MTPint vthumb_w; MTPint vthumb_h; MTPstring vfile_name; MTPstring vmime_type; MTPint vsize; MTPbytes vkey; MTPbytes viv; }; class MTPDdecryptedMessageMediaAudio : public mtpDataImpl { public: MTPDdecryptedMessageMediaAudio() { } MTPDdecryptedMessageMediaAudio(MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) : vduration(_duration), vmime_type(_mime_type), vsize(_size), vkey(_key), viv(_iv) { } MTPint vduration; MTPstring vmime_type; MTPint vsize; MTPbytes vkey; MTPbytes viv; }; class MTPDdecryptedMessageActionSetMessageTTL : public mtpDataImpl { public: MTPDdecryptedMessageActionSetMessageTTL() { } MTPDdecryptedMessageActionSetMessageTTL(MTPint _ttl_seconds) : vttl_seconds(_ttl_seconds) { } MTPint vttl_seconds; }; class MTPDdecryptedMessageActionReadMessages : public mtpDataImpl { public: MTPDdecryptedMessageActionReadMessages() { } MTPDdecryptedMessageActionReadMessages(const MTPVector &_random_ids) : vrandom_ids(_random_ids) { } MTPVector vrandom_ids; }; class MTPDdecryptedMessageActionDeleteMessages : public mtpDataImpl { public: MTPDdecryptedMessageActionDeleteMessages() { } MTPDdecryptedMessageActionDeleteMessages(const MTPVector &_random_ids) : vrandom_ids(_random_ids) { } MTPVector vrandom_ids; }; class MTPDdecryptedMessageActionScreenshotMessages : public mtpDataImpl { public: MTPDdecryptedMessageActionScreenshotMessages() { } MTPDdecryptedMessageActionScreenshotMessages(const MTPVector &_random_ids) : vrandom_ids(_random_ids) { } MTPVector vrandom_ids; }; class MTPDdecryptedMessageActionNotifyLayer : public mtpDataImpl { public: MTPDdecryptedMessageActionNotifyLayer() { } MTPDdecryptedMessageActionNotifyLayer(MTPint _layer) : vlayer(_layer) { } MTPint vlayer; }; class MTPDmessages_dhConfigNotModified : public mtpDataImpl { public: MTPDmessages_dhConfigNotModified() { } MTPDmessages_dhConfigNotModified(const MTPbytes &_random) : vrandom(_random) { } MTPbytes vrandom; }; class MTPDmessages_dhConfig : public mtpDataImpl { public: MTPDmessages_dhConfig() { } MTPDmessages_dhConfig(MTPint _g, const MTPbytes &_p, MTPint _version, const MTPbytes &_random) : vg(_g), vp(_p), vversion(_version), vrandom(_random) { } MTPint vg; MTPbytes vp; MTPint vversion; MTPbytes vrandom; }; class MTPDmessages_sentEncryptedMessage : public mtpDataImpl { public: MTPDmessages_sentEncryptedMessage() { } MTPDmessages_sentEncryptedMessage(MTPint _date) : vdate(_date) { } MTPint vdate; }; class MTPDmessages_sentEncryptedFile : public mtpDataImpl { public: MTPDmessages_sentEncryptedFile() { } MTPDmessages_sentEncryptedFile(MTPint _date, const MTPEncryptedFile &_file) : vdate(_date), vfile(_file) { } MTPint vdate; MTPEncryptedFile vfile; }; class MTPDinputAudio : public mtpDataImpl { public: MTPDinputAudio() { } MTPDinputAudio(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDinputDocument : public mtpDataImpl { public: MTPDinputDocument() { } MTPDinputDocument(const MTPlong &_id, const MTPlong &_access_hash) : vid(_id), vaccess_hash(_access_hash) { } MTPlong vid; MTPlong vaccess_hash; }; class MTPDaudioEmpty : public mtpDataImpl { public: MTPDaudioEmpty() { } MTPDaudioEmpty(const MTPlong &_id) : vid(_id) { } MTPlong vid; }; class MTPDaudio : public mtpDataImpl { public: MTPDaudio() { } MTPDaudio(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, MTPint _duration, const MTPstring &_mime_type, MTPint _size, MTPint _dc_id) : vid(_id), vaccess_hash(_access_hash), vuser_id(_user_id), vdate(_date), vduration(_duration), vmime_type(_mime_type), vsize(_size), vdc_id(_dc_id) { } MTPlong vid; MTPlong vaccess_hash; MTPint vuser_id; MTPint vdate; MTPint vduration; MTPstring vmime_type; MTPint vsize; MTPint vdc_id; }; class MTPDdocumentEmpty : public mtpDataImpl { public: MTPDdocumentEmpty() { } MTPDdocumentEmpty(const MTPlong &_id) : vid(_id) { } MTPlong vid; }; class MTPDdocument : public mtpDataImpl { public: MTPDdocument() { } MTPDdocument(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id) : vid(_id), vaccess_hash(_access_hash), vuser_id(_user_id), vdate(_date), vfile_name(_file_name), vmime_type(_mime_type), vsize(_size), vthumb(_thumb), vdc_id(_dc_id) { } MTPlong vid; MTPlong vaccess_hash; MTPint vuser_id; MTPint vdate; MTPstring vfile_name; MTPstring vmime_type; MTPint vsize; MTPPhotoSize vthumb; MTPint vdc_id; }; class MTPDhelp_support : public mtpDataImpl { public: MTPDhelp_support() { } MTPDhelp_support(const MTPstring &_phone_number, const MTPUser &_user) : vphone_number(_phone_number), vuser(_user) { } MTPstring vphone_number; MTPUser vuser; }; class MTPDnotifyPeer : public mtpDataImpl { public: MTPDnotifyPeer() { } MTPDnotifyPeer(const MTPPeer &_peer) : vpeer(_peer) { } MTPPeer vpeer; }; // RPC methods class MTPreq_pq { // RPC method 'req_pq' public: MTPint128 vnonce; MTPreq_pq() { } MTPreq_pq(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_req_pq) { read(from, end, cons); } MTPreq_pq(const MTPint128 &_nonce) : vnonce(_nonce) { } uint32 size() const { return vnonce.size(); } mtpTypeId type() const { return mtpc_req_pq; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_req_pq) { vnonce.read(from, end); } void write(mtpBuffer &to) const { vnonce.write(to); } typedef MTPResPQ ResponseType; }; class MTPReq_pq : public MTPBoxed { public: MTPReq_pq() { } MTPReq_pq(const MTPreq_pq &v) : MTPBoxed(v) { } MTPReq_pq(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPReq_pq(const MTPint128 &_nonce) : MTPBoxed(MTPreq_pq(_nonce)) { } }; class MTPreq_DH_params { // RPC method 'req_DH_params' public: MTPint128 vnonce; MTPint128 vserver_nonce; MTPstring vp; MTPstring vq; MTPlong vpublic_key_fingerprint; MTPstring vencrypted_data; MTPreq_DH_params() { } MTPreq_DH_params(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_req_DH_params) { read(from, end, cons); } MTPreq_DH_params(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_p, const MTPstring &_q, const MTPlong &_public_key_fingerprint, const MTPstring &_encrypted_data) : vnonce(_nonce), vserver_nonce(_server_nonce), vp(_p), vq(_q), vpublic_key_fingerprint(_public_key_fingerprint), vencrypted_data(_encrypted_data) { } uint32 size() const { return vnonce.size() + vserver_nonce.size() + vp.size() + vq.size() + vpublic_key_fingerprint.size() + vencrypted_data.size(); } mtpTypeId type() const { return mtpc_req_DH_params; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_req_DH_params) { vnonce.read(from, end); vserver_nonce.read(from, end); vp.read(from, end); vq.read(from, end); vpublic_key_fingerprint.read(from, end); vencrypted_data.read(from, end); } void write(mtpBuffer &to) const { vnonce.write(to); vserver_nonce.write(to); vp.write(to); vq.write(to); vpublic_key_fingerprint.write(to); vencrypted_data.write(to); } typedef MTPServer_DH_Params ResponseType; }; class MTPReq_DH_params : public MTPBoxed { public: MTPReq_DH_params() { } MTPReq_DH_params(const MTPreq_DH_params &v) : MTPBoxed(v) { } MTPReq_DH_params(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPReq_DH_params(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_p, const MTPstring &_q, const MTPlong &_public_key_fingerprint, const MTPstring &_encrypted_data) : MTPBoxed(MTPreq_DH_params(_nonce, _server_nonce, _p, _q, _public_key_fingerprint, _encrypted_data)) { } }; class MTPset_client_DH_params { // RPC method 'set_client_DH_params' public: MTPint128 vnonce; MTPint128 vserver_nonce; MTPstring vencrypted_data; MTPset_client_DH_params() { } MTPset_client_DH_params(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_set_client_DH_params) { read(from, end, cons); } MTPset_client_DH_params(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_encrypted_data) : vnonce(_nonce), vserver_nonce(_server_nonce), vencrypted_data(_encrypted_data) { } uint32 size() const { return vnonce.size() + vserver_nonce.size() + vencrypted_data.size(); } mtpTypeId type() const { return mtpc_set_client_DH_params; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_set_client_DH_params) { vnonce.read(from, end); vserver_nonce.read(from, end); vencrypted_data.read(from, end); } void write(mtpBuffer &to) const { vnonce.write(to); vserver_nonce.write(to); vencrypted_data.write(to); } typedef MTPSet_client_DH_params_answer ResponseType; }; class MTPSet_client_DH_params : public MTPBoxed { public: MTPSet_client_DH_params() { } MTPSet_client_DH_params(const MTPset_client_DH_params &v) : MTPBoxed(v) { } MTPSet_client_DH_params(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPSet_client_DH_params(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_encrypted_data) : MTPBoxed(MTPset_client_DH_params(_nonce, _server_nonce, _encrypted_data)) { } }; class MTPrpc_drop_answer { // RPC method 'rpc_drop_answer' public: MTPlong vreq_msg_id; MTPrpc_drop_answer() { } MTPrpc_drop_answer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_rpc_drop_answer) { read(from, end, cons); } MTPrpc_drop_answer(const MTPlong &_req_msg_id) : vreq_msg_id(_req_msg_id) { } uint32 size() const { return vreq_msg_id.size(); } mtpTypeId type() const { return mtpc_rpc_drop_answer; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_rpc_drop_answer) { vreq_msg_id.read(from, end); } void write(mtpBuffer &to) const { vreq_msg_id.write(to); } typedef MTPRpcDropAnswer ResponseType; }; class MTPRpc_drop_answer : public MTPBoxed { public: MTPRpc_drop_answer() { } MTPRpc_drop_answer(const MTPrpc_drop_answer &v) : MTPBoxed(v) { } MTPRpc_drop_answer(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPRpc_drop_answer(const MTPlong &_req_msg_id) : MTPBoxed(MTPrpc_drop_answer(_req_msg_id)) { } }; class MTPget_future_salts { // RPC method 'get_future_salts' public: MTPint vnum; MTPget_future_salts() { } MTPget_future_salts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_get_future_salts) { read(from, end, cons); } MTPget_future_salts(MTPint _num) : vnum(_num) { } uint32 size() const { return vnum.size(); } mtpTypeId type() const { return mtpc_get_future_salts; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_get_future_salts) { vnum.read(from, end); } void write(mtpBuffer &to) const { vnum.write(to); } typedef MTPFutureSalts ResponseType; }; class MTPGet_future_salts : public MTPBoxed { public: MTPGet_future_salts() { } MTPGet_future_salts(const MTPget_future_salts &v) : MTPBoxed(v) { } MTPGet_future_salts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPGet_future_salts(MTPint _num) : MTPBoxed(MTPget_future_salts(_num)) { } }; class MTPping { // RPC method 'ping' public: MTPlong vping_id; MTPping() { } MTPping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_ping) { read(from, end, cons); } MTPping(const MTPlong &_ping_id) : vping_id(_ping_id) { } uint32 size() const { return vping_id.size(); } mtpTypeId type() const { return mtpc_ping; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_ping) { vping_id.read(from, end); } void write(mtpBuffer &to) const { vping_id.write(to); } typedef MTPPong ResponseType; }; class MTPPing : public MTPBoxed { public: MTPPing() { } MTPPing(const MTPping &v) : MTPBoxed(v) { } MTPPing(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPPing(const MTPlong &_ping_id) : MTPBoxed(MTPping(_ping_id)) { } }; class MTPping_delay_disconnect { // RPC method 'ping_delay_disconnect' public: MTPlong vping_id; MTPint vdisconnect_delay; MTPping_delay_disconnect() { } MTPping_delay_disconnect(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_ping_delay_disconnect) { read(from, end, cons); } MTPping_delay_disconnect(const MTPlong &_ping_id, MTPint _disconnect_delay) : vping_id(_ping_id), vdisconnect_delay(_disconnect_delay) { } uint32 size() const { return vping_id.size() + vdisconnect_delay.size(); } mtpTypeId type() const { return mtpc_ping_delay_disconnect; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_ping_delay_disconnect) { vping_id.read(from, end); vdisconnect_delay.read(from, end); } void write(mtpBuffer &to) const { vping_id.write(to); vdisconnect_delay.write(to); } typedef MTPPong ResponseType; }; class MTPPing_delay_disconnect : public MTPBoxed { public: MTPPing_delay_disconnect() { } MTPPing_delay_disconnect(const MTPping_delay_disconnect &v) : MTPBoxed(v) { } MTPPing_delay_disconnect(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPPing_delay_disconnect(const MTPlong &_ping_id, MTPint _disconnect_delay) : MTPBoxed(MTPping_delay_disconnect(_ping_id, _disconnect_delay)) { } }; class MTPdestroy_session { // RPC method 'destroy_session' public: MTPlong vsession_id; MTPdestroy_session() { } MTPdestroy_session(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_destroy_session) { read(from, end, cons); } MTPdestroy_session(const MTPlong &_session_id) : vsession_id(_session_id) { } uint32 size() const { return vsession_id.size(); } mtpTypeId type() const { return mtpc_destroy_session; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_destroy_session) { vsession_id.read(from, end); } void write(mtpBuffer &to) const { vsession_id.write(to); } typedef MTPDestroySessionRes ResponseType; }; class MTPDestroy_session : public MTPBoxed { public: MTPDestroy_session() { } MTPDestroy_session(const MTPdestroy_session &v) : MTPBoxed(v) { } MTPDestroy_session(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPDestroy_session(const MTPlong &_session_id) : MTPBoxed(MTPdestroy_session(_session_id)) { } }; class MTPregister_saveDeveloperInfo { // RPC method 'register.saveDeveloperInfo' public: MTPstring vname; MTPstring vemail; MTPstring vphone_number; MTPint vage; MTPstring vcity; MTPregister_saveDeveloperInfo() { } MTPregister_saveDeveloperInfo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_register_saveDeveloperInfo) { read(from, end, cons); } MTPregister_saveDeveloperInfo(const MTPstring &_name, const MTPstring &_email, const MTPstring &_phone_number, MTPint _age, const MTPstring &_city) : vname(_name), vemail(_email), vphone_number(_phone_number), vage(_age), vcity(_city) { } uint32 size() const { return vname.size() + vemail.size() + vphone_number.size() + vage.size() + vcity.size(); } mtpTypeId type() const { return mtpc_register_saveDeveloperInfo; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_register_saveDeveloperInfo) { vname.read(from, end); vemail.read(from, end); vphone_number.read(from, end); vage.read(from, end); vcity.read(from, end); } void write(mtpBuffer &to) const { vname.write(to); vemail.write(to); vphone_number.write(to); vage.write(to); vcity.write(to); } typedef MTPBool ResponseType; }; class MTPregister_SaveDeveloperInfo : public MTPBoxed { public: MTPregister_SaveDeveloperInfo() { } MTPregister_SaveDeveloperInfo(const MTPregister_saveDeveloperInfo &v) : MTPBoxed(v) { } MTPregister_SaveDeveloperInfo(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPregister_SaveDeveloperInfo(const MTPstring &_name, const MTPstring &_email, const MTPstring &_phone_number, MTPint _age, const MTPstring &_city) : MTPBoxed(MTPregister_saveDeveloperInfo(_name, _email, _phone_number, _age, _city)) { } }; template class MTPinvokeAfterMsg { // RPC method 'invokeAfterMsg' public: MTPlong vmsg_id; TQueryType vquery; MTPinvokeAfterMsg() { } MTPinvokeAfterMsg(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_invokeAfterMsg) { read(from, end, cons); } MTPinvokeAfterMsg(const MTPlong &_msg_id, const TQueryType &_query) : vmsg_id(_msg_id), vquery(_query) { } uint32 size() const { return vmsg_id.size() + vquery.size(); } mtpTypeId type() const { return mtpc_invokeAfterMsg; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_invokeAfterMsg) { vmsg_id.read(from, end); vquery.read(from, end); } void write(mtpBuffer &to) const { vmsg_id.write(to); vquery.write(to); } typedef typename TQueryType::ResponseType ResponseType; }; template class MTPInvokeAfterMsg : public MTPBoxed > { public: MTPInvokeAfterMsg() { } MTPInvokeAfterMsg(const MTPinvokeAfterMsg &v) : MTPBoxed >(v) { } MTPInvokeAfterMsg(const MTPlong &_msg_id, const TQueryType &_query) : MTPBoxed >(MTPinvokeAfterMsg(_msg_id, _query)) { } }; template class MTPinvokeAfterMsgs { // RPC method 'invokeAfterMsgs' public: MTPVector vmsg_ids; TQueryType vquery; MTPinvokeAfterMsgs() { } MTPinvokeAfterMsgs(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_invokeAfterMsgs) { read(from, end, cons); } MTPinvokeAfterMsgs(const MTPVector &_msg_ids, const TQueryType &_query) : vmsg_ids(_msg_ids), vquery(_query) { } uint32 size() const { return vmsg_ids.size() + vquery.size(); } mtpTypeId type() const { return mtpc_invokeAfterMsgs; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_invokeAfterMsgs) { vmsg_ids.read(from, end); vquery.read(from, end); } void write(mtpBuffer &to) const { vmsg_ids.write(to); vquery.write(to); } typedef typename TQueryType::ResponseType ResponseType; }; template class MTPInvokeAfterMsgs : public MTPBoxed > { public: MTPInvokeAfterMsgs() { } MTPInvokeAfterMsgs(const MTPinvokeAfterMsgs &v) : MTPBoxed >(v) { } MTPInvokeAfterMsgs(const MTPVector &_msg_ids, const TQueryType &_query) : MTPBoxed >(MTPinvokeAfterMsgs(_msg_ids, _query)) { } }; class MTPauth_checkPhone { // RPC method 'auth.checkPhone' public: MTPstring vphone_number; MTPauth_checkPhone() { } MTPauth_checkPhone(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_checkPhone) { read(from, end, cons); } MTPauth_checkPhone(const MTPstring &_phone_number) : vphone_number(_phone_number) { } uint32 size() const { return vphone_number.size(); } mtpTypeId type() const { return mtpc_auth_checkPhone; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_checkPhone) { vphone_number.read(from, end); } void write(mtpBuffer &to) const { vphone_number.write(to); } typedef MTPauth_CheckedPhone ResponseType; }; class MTPauth_CheckPhone : public MTPBoxed { public: MTPauth_CheckPhone() { } MTPauth_CheckPhone(const MTPauth_checkPhone &v) : MTPBoxed(v) { } MTPauth_CheckPhone(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_CheckPhone(const MTPstring &_phone_number) : MTPBoxed(MTPauth_checkPhone(_phone_number)) { } }; class MTPauth_sendCode { // RPC method 'auth.sendCode' public: MTPstring vphone_number; MTPint vsms_type; MTPint vapi_id; MTPstring vapi_hash; MTPstring vlang_code; MTPauth_sendCode() { } MTPauth_sendCode(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendCode) { read(from, end, cons); } MTPauth_sendCode(const MTPstring &_phone_number, MTPint _sms_type, MTPint _api_id, const MTPstring &_api_hash, const MTPstring &_lang_code) : vphone_number(_phone_number), vsms_type(_sms_type), vapi_id(_api_id), vapi_hash(_api_hash), vlang_code(_lang_code) { } uint32 size() const { return vphone_number.size() + vsms_type.size() + vapi_id.size() + vapi_hash.size() + vlang_code.size(); } mtpTypeId type() const { return mtpc_auth_sendCode; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendCode) { vphone_number.read(from, end); vsms_type.read(from, end); vapi_id.read(from, end); vapi_hash.read(from, end); vlang_code.read(from, end); } void write(mtpBuffer &to) const { vphone_number.write(to); vsms_type.write(to); vapi_id.write(to); vapi_hash.write(to); vlang_code.write(to); } typedef MTPauth_SentCode ResponseType; }; class MTPauth_SendCode : public MTPBoxed { public: MTPauth_SendCode() { } MTPauth_SendCode(const MTPauth_sendCode &v) : MTPBoxed(v) { } MTPauth_SendCode(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_SendCode(const MTPstring &_phone_number, MTPint _sms_type, MTPint _api_id, const MTPstring &_api_hash, const MTPstring &_lang_code) : MTPBoxed(MTPauth_sendCode(_phone_number, _sms_type, _api_id, _api_hash, _lang_code)) { } }; class MTPauth_sendCall { // RPC method 'auth.sendCall' public: MTPstring vphone_number; MTPstring vphone_code_hash; MTPauth_sendCall() { } MTPauth_sendCall(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendCall) { read(from, end, cons); } MTPauth_sendCall(const MTPstring &_phone_number, const MTPstring &_phone_code_hash) : vphone_number(_phone_number), vphone_code_hash(_phone_code_hash) { } uint32 size() const { return vphone_number.size() + vphone_code_hash.size(); } mtpTypeId type() const { return mtpc_auth_sendCall; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendCall) { vphone_number.read(from, end); vphone_code_hash.read(from, end); } void write(mtpBuffer &to) const { vphone_number.write(to); vphone_code_hash.write(to); } typedef MTPBool ResponseType; }; class MTPauth_SendCall : public MTPBoxed { public: MTPauth_SendCall() { } MTPauth_SendCall(const MTPauth_sendCall &v) : MTPBoxed(v) { } MTPauth_SendCall(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_SendCall(const MTPstring &_phone_number, const MTPstring &_phone_code_hash) : MTPBoxed(MTPauth_sendCall(_phone_number, _phone_code_hash)) { } }; class MTPauth_signUp { // RPC method 'auth.signUp' public: MTPstring vphone_number; MTPstring vphone_code_hash; MTPstring vphone_code; MTPstring vfirst_name; MTPstring vlast_name; MTPauth_signUp() { } MTPauth_signUp(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_signUp) { read(from, end, cons); } MTPauth_signUp(const MTPstring &_phone_number, const MTPstring &_phone_code_hash, const MTPstring &_phone_code, const MTPstring &_first_name, const MTPstring &_last_name) : vphone_number(_phone_number), vphone_code_hash(_phone_code_hash), vphone_code(_phone_code), vfirst_name(_first_name), vlast_name(_last_name) { } uint32 size() const { return vphone_number.size() + vphone_code_hash.size() + vphone_code.size() + vfirst_name.size() + vlast_name.size(); } mtpTypeId type() const { return mtpc_auth_signUp; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_signUp) { vphone_number.read(from, end); vphone_code_hash.read(from, end); vphone_code.read(from, end); vfirst_name.read(from, end); vlast_name.read(from, end); } void write(mtpBuffer &to) const { vphone_number.write(to); vphone_code_hash.write(to); vphone_code.write(to); vfirst_name.write(to); vlast_name.write(to); } typedef MTPauth_Authorization ResponseType; }; class MTPauth_SignUp : public MTPBoxed { public: MTPauth_SignUp() { } MTPauth_SignUp(const MTPauth_signUp &v) : MTPBoxed(v) { } MTPauth_SignUp(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_SignUp(const MTPstring &_phone_number, const MTPstring &_phone_code_hash, const MTPstring &_phone_code, const MTPstring &_first_name, const MTPstring &_last_name) : MTPBoxed(MTPauth_signUp(_phone_number, _phone_code_hash, _phone_code, _first_name, _last_name)) { } }; class MTPauth_signIn { // RPC method 'auth.signIn' public: MTPstring vphone_number; MTPstring vphone_code_hash; MTPstring vphone_code; MTPauth_signIn() { } MTPauth_signIn(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_signIn) { read(from, end, cons); } MTPauth_signIn(const MTPstring &_phone_number, const MTPstring &_phone_code_hash, const MTPstring &_phone_code) : vphone_number(_phone_number), vphone_code_hash(_phone_code_hash), vphone_code(_phone_code) { } uint32 size() const { return vphone_number.size() + vphone_code_hash.size() + vphone_code.size(); } mtpTypeId type() const { return mtpc_auth_signIn; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_signIn) { vphone_number.read(from, end); vphone_code_hash.read(from, end); vphone_code.read(from, end); } void write(mtpBuffer &to) const { vphone_number.write(to); vphone_code_hash.write(to); vphone_code.write(to); } typedef MTPauth_Authorization ResponseType; }; class MTPauth_SignIn : public MTPBoxed { public: MTPauth_SignIn() { } MTPauth_SignIn(const MTPauth_signIn &v) : MTPBoxed(v) { } MTPauth_SignIn(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_SignIn(const MTPstring &_phone_number, const MTPstring &_phone_code_hash, const MTPstring &_phone_code) : MTPBoxed(MTPauth_signIn(_phone_number, _phone_code_hash, _phone_code)) { } }; class MTPauth_logOut { // RPC method 'auth.logOut' public: MTPauth_logOut() { } MTPauth_logOut(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_logOut) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_auth_logOut; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_logOut) { } void write(mtpBuffer &to) const { } typedef MTPBool ResponseType; }; class MTPauth_LogOut : public MTPBoxed { public: MTPauth_LogOut() { } MTPauth_LogOut(const MTPauth_logOut &v) : MTPBoxed(v) { } MTPauth_LogOut(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPauth_resetAuthorizations { // RPC method 'auth.resetAuthorizations' public: MTPauth_resetAuthorizations() { } MTPauth_resetAuthorizations(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_resetAuthorizations) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_auth_resetAuthorizations; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_resetAuthorizations) { } void write(mtpBuffer &to) const { } typedef MTPBool ResponseType; }; class MTPauth_ResetAuthorizations : public MTPBoxed { public: MTPauth_ResetAuthorizations() { } MTPauth_ResetAuthorizations(const MTPauth_resetAuthorizations &v) : MTPBoxed(v) { } MTPauth_ResetAuthorizations(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPauth_sendInvites { // RPC method 'auth.sendInvites' public: MTPVector vphone_numbers; MTPstring vmessage; MTPauth_sendInvites() { } MTPauth_sendInvites(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendInvites) { read(from, end, cons); } MTPauth_sendInvites(const MTPVector &_phone_numbers, const MTPstring &_message) : vphone_numbers(_phone_numbers), vmessage(_message) { } uint32 size() const { return vphone_numbers.size() + vmessage.size(); } mtpTypeId type() const { return mtpc_auth_sendInvites; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_sendInvites) { vphone_numbers.read(from, end); vmessage.read(from, end); } void write(mtpBuffer &to) const { vphone_numbers.write(to); vmessage.write(to); } typedef MTPBool ResponseType; }; class MTPauth_SendInvites : public MTPBoxed { public: MTPauth_SendInvites() { } MTPauth_SendInvites(const MTPauth_sendInvites &v) : MTPBoxed(v) { } MTPauth_SendInvites(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_SendInvites(const MTPVector &_phone_numbers, const MTPstring &_message) : MTPBoxed(MTPauth_sendInvites(_phone_numbers, _message)) { } }; class MTPauth_exportAuthorization { // RPC method 'auth.exportAuthorization' public: MTPint vdc_id; MTPauth_exportAuthorization() { } MTPauth_exportAuthorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_exportAuthorization) { read(from, end, cons); } MTPauth_exportAuthorization(MTPint _dc_id) : vdc_id(_dc_id) { } uint32 size() const { return vdc_id.size(); } mtpTypeId type() const { return mtpc_auth_exportAuthorization; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_exportAuthorization) { vdc_id.read(from, end); } void write(mtpBuffer &to) const { vdc_id.write(to); } typedef MTPauth_ExportedAuthorization ResponseType; }; class MTPauth_ExportAuthorization : public MTPBoxed { public: MTPauth_ExportAuthorization() { } MTPauth_ExportAuthorization(const MTPauth_exportAuthorization &v) : MTPBoxed(v) { } MTPauth_ExportAuthorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_ExportAuthorization(MTPint _dc_id) : MTPBoxed(MTPauth_exportAuthorization(_dc_id)) { } }; class MTPauth_importAuthorization { // RPC method 'auth.importAuthorization' public: MTPint vid; MTPbytes vbytes; MTPauth_importAuthorization() { } MTPauth_importAuthorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_importAuthorization) { read(from, end, cons); } MTPauth_importAuthorization(MTPint _id, const MTPbytes &_bytes) : vid(_id), vbytes(_bytes) { } uint32 size() const { return vid.size() + vbytes.size(); } mtpTypeId type() const { return mtpc_auth_importAuthorization; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_auth_importAuthorization) { vid.read(from, end); vbytes.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); vbytes.write(to); } typedef MTPauth_Authorization ResponseType; }; class MTPauth_ImportAuthorization : public MTPBoxed { public: MTPauth_ImportAuthorization() { } MTPauth_ImportAuthorization(const MTPauth_importAuthorization &v) : MTPBoxed(v) { } MTPauth_ImportAuthorization(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPauth_ImportAuthorization(MTPint _id, const MTPbytes &_bytes) : MTPBoxed(MTPauth_importAuthorization(_id, _bytes)) { } }; class MTPaccount_registerDevice { // RPC method 'account.registerDevice' public: MTPint vtoken_type; MTPstring vtoken; MTPstring vdevice_model; MTPstring vsystem_version; MTPstring vapp_version; MTPBool vapp_sandbox; MTPstring vlang_code; MTPaccount_registerDevice() { } MTPaccount_registerDevice(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_registerDevice) { read(from, end, cons); } MTPaccount_registerDevice(MTPint _token_type, const MTPstring &_token, const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, MTPBool _app_sandbox, const MTPstring &_lang_code) : vtoken_type(_token_type), vtoken(_token), vdevice_model(_device_model), vsystem_version(_system_version), vapp_version(_app_version), vapp_sandbox(_app_sandbox), vlang_code(_lang_code) { } uint32 size() const { return vtoken_type.size() + vtoken.size() + vdevice_model.size() + vsystem_version.size() + vapp_version.size() + vapp_sandbox.size() + vlang_code.size(); } mtpTypeId type() const { return mtpc_account_registerDevice; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_registerDevice) { vtoken_type.read(from, end); vtoken.read(from, end); vdevice_model.read(from, end); vsystem_version.read(from, end); vapp_version.read(from, end); vapp_sandbox.read(from, end); vlang_code.read(from, end); } void write(mtpBuffer &to) const { vtoken_type.write(to); vtoken.write(to); vdevice_model.write(to); vsystem_version.write(to); vapp_version.write(to); vapp_sandbox.write(to); vlang_code.write(to); } typedef MTPBool ResponseType; }; class MTPaccount_RegisterDevice : public MTPBoxed { public: MTPaccount_RegisterDevice() { } MTPaccount_RegisterDevice(const MTPaccount_registerDevice &v) : MTPBoxed(v) { } MTPaccount_RegisterDevice(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_RegisterDevice(MTPint _token_type, const MTPstring &_token, const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, MTPBool _app_sandbox, const MTPstring &_lang_code) : MTPBoxed(MTPaccount_registerDevice(_token_type, _token, _device_model, _system_version, _app_version, _app_sandbox, _lang_code)) { } }; class MTPaccount_unregisterDevice { // RPC method 'account.unregisterDevice' public: MTPint vtoken_type; MTPstring vtoken; MTPaccount_unregisterDevice() { } MTPaccount_unregisterDevice(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_unregisterDevice) { read(from, end, cons); } MTPaccount_unregisterDevice(MTPint _token_type, const MTPstring &_token) : vtoken_type(_token_type), vtoken(_token) { } uint32 size() const { return vtoken_type.size() + vtoken.size(); } mtpTypeId type() const { return mtpc_account_unregisterDevice; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_unregisterDevice) { vtoken_type.read(from, end); vtoken.read(from, end); } void write(mtpBuffer &to) const { vtoken_type.write(to); vtoken.write(to); } typedef MTPBool ResponseType; }; class MTPaccount_UnregisterDevice : public MTPBoxed { public: MTPaccount_UnregisterDevice() { } MTPaccount_UnregisterDevice(const MTPaccount_unregisterDevice &v) : MTPBoxed(v) { } MTPaccount_UnregisterDevice(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_UnregisterDevice(MTPint _token_type, const MTPstring &_token) : MTPBoxed(MTPaccount_unregisterDevice(_token_type, _token)) { } }; class MTPaccount_updateNotifySettings { // RPC method 'account.updateNotifySettings' public: MTPInputNotifyPeer vpeer; MTPInputPeerNotifySettings vsettings; MTPaccount_updateNotifySettings() { } MTPaccount_updateNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateNotifySettings) { read(from, end, cons); } MTPaccount_updateNotifySettings(const MTPInputNotifyPeer &_peer, const MTPInputPeerNotifySettings &_settings) : vpeer(_peer), vsettings(_settings) { } uint32 size() const { return vpeer.size() + vsettings.size(); } mtpTypeId type() const { return mtpc_account_updateNotifySettings; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateNotifySettings) { vpeer.read(from, end); vsettings.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vsettings.write(to); } typedef MTPBool ResponseType; }; class MTPaccount_UpdateNotifySettings : public MTPBoxed { public: MTPaccount_UpdateNotifySettings() { } MTPaccount_UpdateNotifySettings(const MTPaccount_updateNotifySettings &v) : MTPBoxed(v) { } MTPaccount_UpdateNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_UpdateNotifySettings(const MTPInputNotifyPeer &_peer, const MTPInputPeerNotifySettings &_settings) : MTPBoxed(MTPaccount_updateNotifySettings(_peer, _settings)) { } }; class MTPaccount_getNotifySettings { // RPC method 'account.getNotifySettings' public: MTPInputNotifyPeer vpeer; MTPaccount_getNotifySettings() { } MTPaccount_getNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_getNotifySettings) { read(from, end, cons); } MTPaccount_getNotifySettings(const MTPInputNotifyPeer &_peer) : vpeer(_peer) { } uint32 size() const { return vpeer.size(); } mtpTypeId type() const { return mtpc_account_getNotifySettings; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_getNotifySettings) { vpeer.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); } typedef MTPPeerNotifySettings ResponseType; }; class MTPaccount_GetNotifySettings : public MTPBoxed { public: MTPaccount_GetNotifySettings() { } MTPaccount_GetNotifySettings(const MTPaccount_getNotifySettings &v) : MTPBoxed(v) { } MTPaccount_GetNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_GetNotifySettings(const MTPInputNotifyPeer &_peer) : MTPBoxed(MTPaccount_getNotifySettings(_peer)) { } }; class MTPaccount_resetNotifySettings { // RPC method 'account.resetNotifySettings' public: MTPaccount_resetNotifySettings() { } MTPaccount_resetNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_resetNotifySettings) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_account_resetNotifySettings; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_resetNotifySettings) { } void write(mtpBuffer &to) const { } typedef MTPBool ResponseType; }; class MTPaccount_ResetNotifySettings : public MTPBoxed { public: MTPaccount_ResetNotifySettings() { } MTPaccount_ResetNotifySettings(const MTPaccount_resetNotifySettings &v) : MTPBoxed(v) { } MTPaccount_ResetNotifySettings(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPaccount_updateProfile { // RPC method 'account.updateProfile' public: MTPstring vfirst_name; MTPstring vlast_name; MTPaccount_updateProfile() { } MTPaccount_updateProfile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateProfile) { read(from, end, cons); } MTPaccount_updateProfile(const MTPstring &_first_name, const MTPstring &_last_name) : vfirst_name(_first_name), vlast_name(_last_name) { } uint32 size() const { return vfirst_name.size() + vlast_name.size(); } mtpTypeId type() const { return mtpc_account_updateProfile; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateProfile) { vfirst_name.read(from, end); vlast_name.read(from, end); } void write(mtpBuffer &to) const { vfirst_name.write(to); vlast_name.write(to); } typedef MTPUser ResponseType; }; class MTPaccount_UpdateProfile : public MTPBoxed { public: MTPaccount_UpdateProfile() { } MTPaccount_UpdateProfile(const MTPaccount_updateProfile &v) : MTPBoxed(v) { } MTPaccount_UpdateProfile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_UpdateProfile(const MTPstring &_first_name, const MTPstring &_last_name) : MTPBoxed(MTPaccount_updateProfile(_first_name, _last_name)) { } }; class MTPaccount_updateStatus { // RPC method 'account.updateStatus' public: MTPBool voffline; MTPaccount_updateStatus() { } MTPaccount_updateStatus(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateStatus) { read(from, end, cons); } MTPaccount_updateStatus(MTPBool _offline) : voffline(_offline) { } uint32 size() const { return voffline.size(); } mtpTypeId type() const { return mtpc_account_updateStatus; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_updateStatus) { voffline.read(from, end); } void write(mtpBuffer &to) const { voffline.write(to); } typedef MTPBool ResponseType; }; class MTPaccount_UpdateStatus : public MTPBoxed { public: MTPaccount_UpdateStatus() { } MTPaccount_UpdateStatus(const MTPaccount_updateStatus &v) : MTPBoxed(v) { } MTPaccount_UpdateStatus(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPaccount_UpdateStatus(MTPBool _offline) : MTPBoxed(MTPaccount_updateStatus(_offline)) { } }; class MTPaccount_getWallPapers { // RPC method 'account.getWallPapers' public: MTPaccount_getWallPapers() { } MTPaccount_getWallPapers(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_getWallPapers) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_account_getWallPapers; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_account_getWallPapers) { } void write(mtpBuffer &to) const { } typedef MTPVector ResponseType; }; class MTPaccount_GetWallPapers : public MTPBoxed { public: MTPaccount_GetWallPapers() { } MTPaccount_GetWallPapers(const MTPaccount_getWallPapers &v) : MTPBoxed(v) { } MTPaccount_GetWallPapers(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPusers_getUsers { // RPC method 'users.getUsers' public: MTPVector vid; MTPusers_getUsers() { } MTPusers_getUsers(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_users_getUsers) { read(from, end, cons); } MTPusers_getUsers(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_users_getUsers; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_users_getUsers) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPVector ResponseType; }; class MTPusers_GetUsers : public MTPBoxed { public: MTPusers_GetUsers() { } MTPusers_GetUsers(const MTPusers_getUsers &v) : MTPBoxed(v) { } MTPusers_GetUsers(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPusers_GetUsers(const MTPVector &_id) : MTPBoxed(MTPusers_getUsers(_id)) { } }; class MTPusers_getFullUser { // RPC method 'users.getFullUser' public: MTPInputUser vid; MTPusers_getFullUser() { } MTPusers_getFullUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_users_getFullUser) { read(from, end, cons); } MTPusers_getFullUser(const MTPInputUser &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_users_getFullUser; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_users_getFullUser) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPUserFull ResponseType; }; class MTPusers_GetFullUser : public MTPBoxed { public: MTPusers_GetFullUser() { } MTPusers_GetFullUser(const MTPusers_getFullUser &v) : MTPBoxed(v) { } MTPusers_GetFullUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPusers_GetFullUser(const MTPInputUser &_id) : MTPBoxed(MTPusers_getFullUser(_id)) { } }; class MTPcontacts_getStatuses { // RPC method 'contacts.getStatuses' public: MTPcontacts_getStatuses() { } MTPcontacts_getStatuses(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getStatuses) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_contacts_getStatuses; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getStatuses) { } void write(mtpBuffer &to) const { } typedef MTPVector ResponseType; }; class MTPcontacts_GetStatuses : public MTPBoxed { public: MTPcontacts_GetStatuses() { } MTPcontacts_GetStatuses(const MTPcontacts_getStatuses &v) : MTPBoxed(v) { } MTPcontacts_GetStatuses(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPcontacts_getContacts { // RPC method 'contacts.getContacts' public: MTPstring vhash; MTPcontacts_getContacts() { } MTPcontacts_getContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getContacts) { read(from, end, cons); } MTPcontacts_getContacts(const MTPstring &_hash) : vhash(_hash) { } uint32 size() const { return vhash.size(); } mtpTypeId type() const { return mtpc_contacts_getContacts; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getContacts) { vhash.read(from, end); } void write(mtpBuffer &to) const { vhash.write(to); } typedef MTPcontacts_Contacts ResponseType; }; class MTPcontacts_GetContacts : public MTPBoxed { public: MTPcontacts_GetContacts() { } MTPcontacts_GetContacts(const MTPcontacts_getContacts &v) : MTPBoxed(v) { } MTPcontacts_GetContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_GetContacts(const MTPstring &_hash) : MTPBoxed(MTPcontacts_getContacts(_hash)) { } }; class MTPcontacts_importContacts { // RPC method 'contacts.importContacts' public: MTPVector vcontacts; MTPBool vreplace; MTPcontacts_importContacts() { } MTPcontacts_importContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_importContacts) { read(from, end, cons); } MTPcontacts_importContacts(const MTPVector &_contacts, MTPBool _replace) : vcontacts(_contacts), vreplace(_replace) { } uint32 size() const { return vcontacts.size() + vreplace.size(); } mtpTypeId type() const { return mtpc_contacts_importContacts; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_importContacts) { vcontacts.read(from, end); vreplace.read(from, end); } void write(mtpBuffer &to) const { vcontacts.write(to); vreplace.write(to); } typedef MTPcontacts_ImportedContacts ResponseType; }; class MTPcontacts_ImportContacts : public MTPBoxed { public: MTPcontacts_ImportContacts() { } MTPcontacts_ImportContacts(const MTPcontacts_importContacts &v) : MTPBoxed(v) { } MTPcontacts_ImportContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_ImportContacts(const MTPVector &_contacts, MTPBool _replace) : MTPBoxed(MTPcontacts_importContacts(_contacts, _replace)) { } }; class MTPcontacts_search { // RPC method 'contacts.search' public: MTPstring vq; MTPint vlimit; MTPcontacts_search() { } MTPcontacts_search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_search) { read(from, end, cons); } MTPcontacts_search(const MTPstring &_q, MTPint _limit) : vq(_q), vlimit(_limit) { } uint32 size() const { return vq.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_contacts_search; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_search) { vq.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vq.write(to); vlimit.write(to); } typedef MTPcontacts_Found ResponseType; }; class MTPcontacts_Search : public MTPBoxed { public: MTPcontacts_Search() { } MTPcontacts_Search(const MTPcontacts_search &v) : MTPBoxed(v) { } MTPcontacts_Search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_Search(const MTPstring &_q, MTPint _limit) : MTPBoxed(MTPcontacts_search(_q, _limit)) { } }; class MTPcontacts_getSuggested { // RPC method 'contacts.getSuggested' public: MTPint vlimit; MTPcontacts_getSuggested() { } MTPcontacts_getSuggested(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getSuggested) { read(from, end, cons); } MTPcontacts_getSuggested(MTPint _limit) : vlimit(_limit) { } uint32 size() const { return vlimit.size(); } mtpTypeId type() const { return mtpc_contacts_getSuggested; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getSuggested) { vlimit.read(from, end); } void write(mtpBuffer &to) const { vlimit.write(to); } typedef MTPcontacts_Suggested ResponseType; }; class MTPcontacts_GetSuggested : public MTPBoxed { public: MTPcontacts_GetSuggested() { } MTPcontacts_GetSuggested(const MTPcontacts_getSuggested &v) : MTPBoxed(v) { } MTPcontacts_GetSuggested(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_GetSuggested(MTPint _limit) : MTPBoxed(MTPcontacts_getSuggested(_limit)) { } }; class MTPcontacts_deleteContact { // RPC method 'contacts.deleteContact' public: MTPInputUser vid; MTPcontacts_deleteContact() { } MTPcontacts_deleteContact(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_deleteContact) { read(from, end, cons); } MTPcontacts_deleteContact(const MTPInputUser &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_contacts_deleteContact; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_deleteContact) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPcontacts_Link ResponseType; }; class MTPcontacts_DeleteContact : public MTPBoxed { public: MTPcontacts_DeleteContact() { } MTPcontacts_DeleteContact(const MTPcontacts_deleteContact &v) : MTPBoxed(v) { } MTPcontacts_DeleteContact(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_DeleteContact(const MTPInputUser &_id) : MTPBoxed(MTPcontacts_deleteContact(_id)) { } }; class MTPcontacts_deleteContacts { // RPC method 'contacts.deleteContacts' public: MTPVector vid; MTPcontacts_deleteContacts() { } MTPcontacts_deleteContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_deleteContacts) { read(from, end, cons); } MTPcontacts_deleteContacts(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_contacts_deleteContacts; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_deleteContacts) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPBool ResponseType; }; class MTPcontacts_DeleteContacts : public MTPBoxed { public: MTPcontacts_DeleteContacts() { } MTPcontacts_DeleteContacts(const MTPcontacts_deleteContacts &v) : MTPBoxed(v) { } MTPcontacts_DeleteContacts(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_DeleteContacts(const MTPVector &_id) : MTPBoxed(MTPcontacts_deleteContacts(_id)) { } }; class MTPcontacts_block { // RPC method 'contacts.block' public: MTPInputUser vid; MTPcontacts_block() { } MTPcontacts_block(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_block) { read(from, end, cons); } MTPcontacts_block(const MTPInputUser &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_contacts_block; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_block) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPBool ResponseType; }; class MTPcontacts_Block : public MTPBoxed { public: MTPcontacts_Block() { } MTPcontacts_Block(const MTPcontacts_block &v) : MTPBoxed(v) { } MTPcontacts_Block(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_Block(const MTPInputUser &_id) : MTPBoxed(MTPcontacts_block(_id)) { } }; class MTPcontacts_unblock { // RPC method 'contacts.unblock' public: MTPInputUser vid; MTPcontacts_unblock() { } MTPcontacts_unblock(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_unblock) { read(from, end, cons); } MTPcontacts_unblock(const MTPInputUser &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_contacts_unblock; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_unblock) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPBool ResponseType; }; class MTPcontacts_Unblock : public MTPBoxed { public: MTPcontacts_Unblock() { } MTPcontacts_Unblock(const MTPcontacts_unblock &v) : MTPBoxed(v) { } MTPcontacts_Unblock(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_Unblock(const MTPInputUser &_id) : MTPBoxed(MTPcontacts_unblock(_id)) { } }; class MTPcontacts_getBlocked { // RPC method 'contacts.getBlocked' public: MTPint voffset; MTPint vlimit; MTPcontacts_getBlocked() { } MTPcontacts_getBlocked(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getBlocked) { read(from, end, cons); } MTPcontacts_getBlocked(MTPint _offset, MTPint _limit) : voffset(_offset), vlimit(_limit) { } uint32 size() const { return voffset.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_contacts_getBlocked; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_contacts_getBlocked) { voffset.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { voffset.write(to); vlimit.write(to); } typedef MTPcontacts_Blocked ResponseType; }; class MTPcontacts_GetBlocked : public MTPBoxed { public: MTPcontacts_GetBlocked() { } MTPcontacts_GetBlocked(const MTPcontacts_getBlocked &v) : MTPBoxed(v) { } MTPcontacts_GetBlocked(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPcontacts_GetBlocked(MTPint _offset, MTPint _limit) : MTPBoxed(MTPcontacts_getBlocked(_offset, _limit)) { } }; class MTPmessages_getMessages { // RPC method 'messages.getMessages' public: MTPVector vid; MTPmessages_getMessages() { } MTPmessages_getMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getMessages) { read(from, end, cons); } MTPmessages_getMessages(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_messages_getMessages; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getMessages) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPmessages_Messages ResponseType; }; class MTPmessages_GetMessages : public MTPBoxed { public: MTPmessages_GetMessages() { } MTPmessages_GetMessages(const MTPmessages_getMessages &v) : MTPBoxed(v) { } MTPmessages_GetMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetMessages(const MTPVector &_id) : MTPBoxed(MTPmessages_getMessages(_id)) { } }; class MTPmessages_getDialogs { // RPC method 'messages.getDialogs' public: MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPmessages_getDialogs() { } MTPmessages_getDialogs(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getDialogs) { read(from, end, cons); } MTPmessages_getDialogs(MTPint _offset, MTPint _max_id, MTPint _limit) : voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_messages_getDialogs; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getDialogs) { voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPmessages_Dialogs ResponseType; }; class MTPmessages_GetDialogs : public MTPBoxed { public: MTPmessages_GetDialogs() { } MTPmessages_GetDialogs(const MTPmessages_getDialogs &v) : MTPBoxed(v) { } MTPmessages_GetDialogs(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetDialogs(MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPmessages_getDialogs(_offset, _max_id, _limit)) { } }; class MTPmessages_getHistory { // RPC method 'messages.getHistory' public: MTPInputPeer vpeer; MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPmessages_getHistory() { } MTPmessages_getHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getHistory) { read(from, end, cons); } MTPmessages_getHistory(const MTPInputPeer &_peer, MTPint _offset, MTPint _max_id, MTPint _limit) : vpeer(_peer), voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return vpeer.size() + voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_messages_getHistory; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getHistory) { vpeer.read(from, end); voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPmessages_Messages ResponseType; }; class MTPmessages_GetHistory : public MTPBoxed { public: MTPmessages_GetHistory() { } MTPmessages_GetHistory(const MTPmessages_getHistory &v) : MTPBoxed(v) { } MTPmessages_GetHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetHistory(const MTPInputPeer &_peer, MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPmessages_getHistory(_peer, _offset, _max_id, _limit)) { } }; class MTPmessages_search { // RPC method 'messages.search' public: MTPInputPeer vpeer; MTPstring vq; MTPMessagesFilter vfilter; MTPint vmin_date; MTPint vmax_date; MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPmessages_search() { } MTPmessages_search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_search) { read(from, end, cons); } MTPmessages_search(const MTPInputPeer &_peer, const MTPstring &_q, const MTPMessagesFilter &_filter, MTPint _min_date, MTPint _max_date, MTPint _offset, MTPint _max_id, MTPint _limit) : vpeer(_peer), vq(_q), vfilter(_filter), vmin_date(_min_date), vmax_date(_max_date), voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return vpeer.size() + vq.size() + vfilter.size() + vmin_date.size() + vmax_date.size() + voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_messages_search; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_search) { vpeer.read(from, end); vq.read(from, end); vfilter.read(from, end); vmin_date.read(from, end); vmax_date.read(from, end); voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vq.write(to); vfilter.write(to); vmin_date.write(to); vmax_date.write(to); voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPmessages_Messages ResponseType; }; class MTPmessages_Search : public MTPBoxed { public: MTPmessages_Search() { } MTPmessages_Search(const MTPmessages_search &v) : MTPBoxed(v) { } MTPmessages_Search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_Search(const MTPInputPeer &_peer, const MTPstring &_q, const MTPMessagesFilter &_filter, MTPint _min_date, MTPint _max_date, MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPmessages_search(_peer, _q, _filter, _min_date, _max_date, _offset, _max_id, _limit)) { } }; class MTPmessages_readHistory { // RPC method 'messages.readHistory' public: MTPInputPeer vpeer; MTPint vmax_id; MTPint voffset; MTPmessages_readHistory() { } MTPmessages_readHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_readHistory) { read(from, end, cons); } MTPmessages_readHistory(const MTPInputPeer &_peer, MTPint _max_id, MTPint _offset) : vpeer(_peer), vmax_id(_max_id), voffset(_offset) { } uint32 size() const { return vpeer.size() + vmax_id.size() + voffset.size(); } mtpTypeId type() const { return mtpc_messages_readHistory; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_readHistory) { vpeer.read(from, end); vmax_id.read(from, end); voffset.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmax_id.write(to); voffset.write(to); } typedef MTPmessages_AffectedHistory ResponseType; }; class MTPmessages_ReadHistory : public MTPBoxed { public: MTPmessages_ReadHistory() { } MTPmessages_ReadHistory(const MTPmessages_readHistory &v) : MTPBoxed(v) { } MTPmessages_ReadHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ReadHistory(const MTPInputPeer &_peer, MTPint _max_id, MTPint _offset) : MTPBoxed(MTPmessages_readHistory(_peer, _max_id, _offset)) { } }; class MTPmessages_deleteHistory { // RPC method 'messages.deleteHistory' public: MTPInputPeer vpeer; MTPint voffset; MTPmessages_deleteHistory() { } MTPmessages_deleteHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteHistory) { read(from, end, cons); } MTPmessages_deleteHistory(const MTPInputPeer &_peer, MTPint _offset) : vpeer(_peer), voffset(_offset) { } uint32 size() const { return vpeer.size() + voffset.size(); } mtpTypeId type() const { return mtpc_messages_deleteHistory; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteHistory) { vpeer.read(from, end); voffset.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); voffset.write(to); } typedef MTPmessages_AffectedHistory ResponseType; }; class MTPmessages_DeleteHistory : public MTPBoxed { public: MTPmessages_DeleteHistory() { } MTPmessages_DeleteHistory(const MTPmessages_deleteHistory &v) : MTPBoxed(v) { } MTPmessages_DeleteHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_DeleteHistory(const MTPInputPeer &_peer, MTPint _offset) : MTPBoxed(MTPmessages_deleteHistory(_peer, _offset)) { } }; class MTPmessages_deleteMessages { // RPC method 'messages.deleteMessages' public: MTPVector vid; MTPmessages_deleteMessages() { } MTPmessages_deleteMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteMessages) { read(from, end, cons); } MTPmessages_deleteMessages(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_messages_deleteMessages; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteMessages) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPVector ResponseType; }; class MTPmessages_DeleteMessages : public MTPBoxed { public: MTPmessages_DeleteMessages() { } MTPmessages_DeleteMessages(const MTPmessages_deleteMessages &v) : MTPBoxed(v) { } MTPmessages_DeleteMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_DeleteMessages(const MTPVector &_id) : MTPBoxed(MTPmessages_deleteMessages(_id)) { } }; class MTPmessages_restoreMessages { // RPC method 'messages.restoreMessages' public: MTPVector vid; MTPmessages_restoreMessages() { } MTPmessages_restoreMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_restoreMessages) { read(from, end, cons); } MTPmessages_restoreMessages(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_messages_restoreMessages; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_restoreMessages) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPVector ResponseType; }; class MTPmessages_RestoreMessages : public MTPBoxed { public: MTPmessages_RestoreMessages() { } MTPmessages_RestoreMessages(const MTPmessages_restoreMessages &v) : MTPBoxed(v) { } MTPmessages_RestoreMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_RestoreMessages(const MTPVector &_id) : MTPBoxed(MTPmessages_restoreMessages(_id)) { } }; class MTPmessages_receivedMessages { // RPC method 'messages.receivedMessages' public: MTPint vmax_id; MTPmessages_receivedMessages() { } MTPmessages_receivedMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_receivedMessages) { read(from, end, cons); } MTPmessages_receivedMessages(MTPint _max_id) : vmax_id(_max_id) { } uint32 size() const { return vmax_id.size(); } mtpTypeId type() const { return mtpc_messages_receivedMessages; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_receivedMessages) { vmax_id.read(from, end); } void write(mtpBuffer &to) const { vmax_id.write(to); } typedef MTPVector ResponseType; }; class MTPmessages_ReceivedMessages : public MTPBoxed { public: MTPmessages_ReceivedMessages() { } MTPmessages_ReceivedMessages(const MTPmessages_receivedMessages &v) : MTPBoxed(v) { } MTPmessages_ReceivedMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ReceivedMessages(MTPint _max_id) : MTPBoxed(MTPmessages_receivedMessages(_max_id)) { } }; class MTPmessages_setTyping { // RPC method 'messages.setTyping' public: MTPInputPeer vpeer; MTPBool vtyping; MTPmessages_setTyping() { } MTPmessages_setTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_setTyping) { read(from, end, cons); } MTPmessages_setTyping(const MTPInputPeer &_peer, MTPBool _typing) : vpeer(_peer), vtyping(_typing) { } uint32 size() const { return vpeer.size() + vtyping.size(); } mtpTypeId type() const { return mtpc_messages_setTyping; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_setTyping) { vpeer.read(from, end); vtyping.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vtyping.write(to); } typedef MTPBool ResponseType; }; class MTPmessages_SetTyping : public MTPBoxed { public: MTPmessages_SetTyping() { } MTPmessages_SetTyping(const MTPmessages_setTyping &v) : MTPBoxed(v) { } MTPmessages_SetTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SetTyping(const MTPInputPeer &_peer, MTPBool _typing) : MTPBoxed(MTPmessages_setTyping(_peer, _typing)) { } }; class MTPmessages_sendMessage { // RPC method 'messages.sendMessage' public: MTPInputPeer vpeer; MTPstring vmessage; MTPlong vrandom_id; MTPmessages_sendMessage() { } MTPmessages_sendMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendMessage) { read(from, end, cons); } MTPmessages_sendMessage(const MTPInputPeer &_peer, const MTPstring &_message, const MTPlong &_random_id) : vpeer(_peer), vmessage(_message), vrandom_id(_random_id) { } uint32 size() const { return vpeer.size() + vmessage.size() + vrandom_id.size(); } mtpTypeId type() const { return mtpc_messages_sendMessage; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendMessage) { vpeer.read(from, end); vmessage.read(from, end); vrandom_id.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmessage.write(to); vrandom_id.write(to); } typedef MTPmessages_SentMessage ResponseType; }; class MTPmessages_SendMessage : public MTPBoxed { public: MTPmessages_SendMessage() { } MTPmessages_SendMessage(const MTPmessages_sendMessage &v) : MTPBoxed(v) { } MTPmessages_SendMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendMessage(const MTPInputPeer &_peer, const MTPstring &_message, const MTPlong &_random_id) : MTPBoxed(MTPmessages_sendMessage(_peer, _message, _random_id)) { } }; class MTPmessages_sendMedia { // RPC method 'messages.sendMedia' public: MTPInputPeer vpeer; MTPInputMedia vmedia; MTPlong vrandom_id; MTPmessages_sendMedia() { } MTPmessages_sendMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendMedia) { read(from, end, cons); } MTPmessages_sendMedia(const MTPInputPeer &_peer, const MTPInputMedia &_media, const MTPlong &_random_id) : vpeer(_peer), vmedia(_media), vrandom_id(_random_id) { } uint32 size() const { return vpeer.size() + vmedia.size() + vrandom_id.size(); } mtpTypeId type() const { return mtpc_messages_sendMedia; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendMedia) { vpeer.read(from, end); vmedia.read(from, end); vrandom_id.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmedia.write(to); vrandom_id.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_SendMedia : public MTPBoxed { public: MTPmessages_SendMedia() { } MTPmessages_SendMedia(const MTPmessages_sendMedia &v) : MTPBoxed(v) { } MTPmessages_SendMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendMedia(const MTPInputPeer &_peer, const MTPInputMedia &_media, const MTPlong &_random_id) : MTPBoxed(MTPmessages_sendMedia(_peer, _media, _random_id)) { } }; class MTPmessages_forwardMessages { // RPC method 'messages.forwardMessages' public: MTPInputPeer vpeer; MTPVector vid; MTPmessages_forwardMessages() { } MTPmessages_forwardMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_forwardMessages) { read(from, end, cons); } MTPmessages_forwardMessages(const MTPInputPeer &_peer, const MTPVector &_id) : vpeer(_peer), vid(_id) { } uint32 size() const { return vpeer.size() + vid.size(); } mtpTypeId type() const { return mtpc_messages_forwardMessages; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_forwardMessages) { vpeer.read(from, end); vid.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vid.write(to); } typedef MTPmessages_StatedMessages ResponseType; }; class MTPmessages_ForwardMessages : public MTPBoxed { public: MTPmessages_ForwardMessages() { } MTPmessages_ForwardMessages(const MTPmessages_forwardMessages &v) : MTPBoxed(v) { } MTPmessages_ForwardMessages(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ForwardMessages(const MTPInputPeer &_peer, const MTPVector &_id) : MTPBoxed(MTPmessages_forwardMessages(_peer, _id)) { } }; class MTPmessages_getChats { // RPC method 'messages.getChats' public: MTPVector vid; MTPmessages_getChats() { } MTPmessages_getChats(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getChats) { read(from, end, cons); } MTPmessages_getChats(const MTPVector &_id) : vid(_id) { } uint32 size() const { return vid.size(); } mtpTypeId type() const { return mtpc_messages_getChats; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getChats) { vid.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); } typedef MTPmessages_Chats ResponseType; }; class MTPmessages_GetChats : public MTPBoxed { public: MTPmessages_GetChats() { } MTPmessages_GetChats(const MTPmessages_getChats &v) : MTPBoxed(v) { } MTPmessages_GetChats(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetChats(const MTPVector &_id) : MTPBoxed(MTPmessages_getChats(_id)) { } }; class MTPmessages_getFullChat { // RPC method 'messages.getFullChat' public: MTPint vchat_id; MTPmessages_getFullChat() { } MTPmessages_getFullChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getFullChat) { read(from, end, cons); } MTPmessages_getFullChat(MTPint _chat_id) : vchat_id(_chat_id) { } uint32 size() const { return vchat_id.size(); } mtpTypeId type() const { return mtpc_messages_getFullChat; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getFullChat) { vchat_id.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); } typedef MTPmessages_ChatFull ResponseType; }; class MTPmessages_GetFullChat : public MTPBoxed { public: MTPmessages_GetFullChat() { } MTPmessages_GetFullChat(const MTPmessages_getFullChat &v) : MTPBoxed(v) { } MTPmessages_GetFullChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetFullChat(MTPint _chat_id) : MTPBoxed(MTPmessages_getFullChat(_chat_id)) { } }; class MTPmessages_editChatTitle { // RPC method 'messages.editChatTitle' public: MTPint vchat_id; MTPstring vtitle; MTPmessages_editChatTitle() { } MTPmessages_editChatTitle(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editChatTitle) { read(from, end, cons); } MTPmessages_editChatTitle(MTPint _chat_id, const MTPstring &_title) : vchat_id(_chat_id), vtitle(_title) { } uint32 size() const { return vchat_id.size() + vtitle.size(); } mtpTypeId type() const { return mtpc_messages_editChatTitle; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editChatTitle) { vchat_id.read(from, end); vtitle.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); vtitle.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_EditChatTitle : public MTPBoxed { public: MTPmessages_EditChatTitle() { } MTPmessages_EditChatTitle(const MTPmessages_editChatTitle &v) : MTPBoxed(v) { } MTPmessages_EditChatTitle(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_EditChatTitle(MTPint _chat_id, const MTPstring &_title) : MTPBoxed(MTPmessages_editChatTitle(_chat_id, _title)) { } }; class MTPmessages_editChatPhoto { // RPC method 'messages.editChatPhoto' public: MTPint vchat_id; MTPInputChatPhoto vphoto; MTPmessages_editChatPhoto() { } MTPmessages_editChatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editChatPhoto) { read(from, end, cons); } MTPmessages_editChatPhoto(MTPint _chat_id, const MTPInputChatPhoto &_photo) : vchat_id(_chat_id), vphoto(_photo) { } uint32 size() const { return vchat_id.size() + vphoto.size(); } mtpTypeId type() const { return mtpc_messages_editChatPhoto; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_editChatPhoto) { vchat_id.read(from, end); vphoto.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); vphoto.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_EditChatPhoto : public MTPBoxed { public: MTPmessages_EditChatPhoto() { } MTPmessages_EditChatPhoto(const MTPmessages_editChatPhoto &v) : MTPBoxed(v) { } MTPmessages_EditChatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_EditChatPhoto(MTPint _chat_id, const MTPInputChatPhoto &_photo) : MTPBoxed(MTPmessages_editChatPhoto(_chat_id, _photo)) { } }; class MTPmessages_addChatUser { // RPC method 'messages.addChatUser' public: MTPint vchat_id; MTPInputUser vuser_id; MTPint vfwd_limit; MTPmessages_addChatUser() { } MTPmessages_addChatUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_addChatUser) { read(from, end, cons); } MTPmessages_addChatUser(MTPint _chat_id, const MTPInputUser &_user_id, MTPint _fwd_limit) : vchat_id(_chat_id), vuser_id(_user_id), vfwd_limit(_fwd_limit) { } uint32 size() const { return vchat_id.size() + vuser_id.size() + vfwd_limit.size(); } mtpTypeId type() const { return mtpc_messages_addChatUser; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_addChatUser) { vchat_id.read(from, end); vuser_id.read(from, end); vfwd_limit.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); vuser_id.write(to); vfwd_limit.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_AddChatUser : public MTPBoxed { public: MTPmessages_AddChatUser() { } MTPmessages_AddChatUser(const MTPmessages_addChatUser &v) : MTPBoxed(v) { } MTPmessages_AddChatUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_AddChatUser(MTPint _chat_id, const MTPInputUser &_user_id, MTPint _fwd_limit) : MTPBoxed(MTPmessages_addChatUser(_chat_id, _user_id, _fwd_limit)) { } }; class MTPmessages_deleteChatUser { // RPC method 'messages.deleteChatUser' public: MTPint vchat_id; MTPInputUser vuser_id; MTPmessages_deleteChatUser() { } MTPmessages_deleteChatUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteChatUser) { read(from, end, cons); } MTPmessages_deleteChatUser(MTPint _chat_id, const MTPInputUser &_user_id) : vchat_id(_chat_id), vuser_id(_user_id) { } uint32 size() const { return vchat_id.size() + vuser_id.size(); } mtpTypeId type() const { return mtpc_messages_deleteChatUser; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_deleteChatUser) { vchat_id.read(from, end); vuser_id.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); vuser_id.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_DeleteChatUser : public MTPBoxed { public: MTPmessages_DeleteChatUser() { } MTPmessages_DeleteChatUser(const MTPmessages_deleteChatUser &v) : MTPBoxed(v) { } MTPmessages_DeleteChatUser(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_DeleteChatUser(MTPint _chat_id, const MTPInputUser &_user_id) : MTPBoxed(MTPmessages_deleteChatUser(_chat_id, _user_id)) { } }; class MTPmessages_createChat { // RPC method 'messages.createChat' public: MTPVector vusers; MTPstring vtitle; MTPmessages_createChat() { } MTPmessages_createChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_createChat) { read(from, end, cons); } MTPmessages_createChat(const MTPVector &_users, const MTPstring &_title) : vusers(_users), vtitle(_title) { } uint32 size() const { return vusers.size() + vtitle.size(); } mtpTypeId type() const { return mtpc_messages_createChat; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_createChat) { vusers.read(from, end); vtitle.read(from, end); } void write(mtpBuffer &to) const { vusers.write(to); vtitle.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_CreateChat : public MTPBoxed { public: MTPmessages_CreateChat() { } MTPmessages_CreateChat(const MTPmessages_createChat &v) : MTPBoxed(v) { } MTPmessages_CreateChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_CreateChat(const MTPVector &_users, const MTPstring &_title) : MTPBoxed(MTPmessages_createChat(_users, _title)) { } }; class MTPupdates_getState { // RPC method 'updates.getState' public: MTPupdates_getState() { } MTPupdates_getState(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_getState) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_updates_getState; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_getState) { } void write(mtpBuffer &to) const { } typedef MTPupdates_State ResponseType; }; class MTPupdates_GetState : public MTPBoxed { public: MTPupdates_GetState() { } MTPupdates_GetState(const MTPupdates_getState &v) : MTPBoxed(v) { } MTPupdates_GetState(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPupdates_getDifference { // RPC method 'updates.getDifference' public: MTPint vpts; MTPint vdate; MTPint vqts; MTPupdates_getDifference() { } MTPupdates_getDifference(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_getDifference) { read(from, end, cons); } MTPupdates_getDifference(MTPint _pts, MTPint _date, MTPint _qts) : vpts(_pts), vdate(_date), vqts(_qts) { } uint32 size() const { return vpts.size() + vdate.size() + vqts.size(); } mtpTypeId type() const { return mtpc_updates_getDifference; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_updates_getDifference) { vpts.read(from, end); vdate.read(from, end); vqts.read(from, end); } void write(mtpBuffer &to) const { vpts.write(to); vdate.write(to); vqts.write(to); } typedef MTPupdates_Difference ResponseType; }; class MTPupdates_GetDifference : public MTPBoxed { public: MTPupdates_GetDifference() { } MTPupdates_GetDifference(const MTPupdates_getDifference &v) : MTPBoxed(v) { } MTPupdates_GetDifference(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPupdates_GetDifference(MTPint _pts, MTPint _date, MTPint _qts) : MTPBoxed(MTPupdates_getDifference(_pts, _date, _qts)) { } }; class MTPphotos_updateProfilePhoto { // RPC method 'photos.updateProfilePhoto' public: MTPInputPhoto vid; MTPInputPhotoCrop vcrop; MTPphotos_updateProfilePhoto() { } MTPphotos_updateProfilePhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_updateProfilePhoto) { read(from, end, cons); } MTPphotos_updateProfilePhoto(const MTPInputPhoto &_id, const MTPInputPhotoCrop &_crop) : vid(_id), vcrop(_crop) { } uint32 size() const { return vid.size() + vcrop.size(); } mtpTypeId type() const { return mtpc_photos_updateProfilePhoto; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_updateProfilePhoto) { vid.read(from, end); vcrop.read(from, end); } void write(mtpBuffer &to) const { vid.write(to); vcrop.write(to); } typedef MTPUserProfilePhoto ResponseType; }; class MTPphotos_UpdateProfilePhoto : public MTPBoxed { public: MTPphotos_UpdateProfilePhoto() { } MTPphotos_UpdateProfilePhoto(const MTPphotos_updateProfilePhoto &v) : MTPBoxed(v) { } MTPphotos_UpdateProfilePhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPphotos_UpdateProfilePhoto(const MTPInputPhoto &_id, const MTPInputPhotoCrop &_crop) : MTPBoxed(MTPphotos_updateProfilePhoto(_id, _crop)) { } }; class MTPphotos_uploadProfilePhoto { // RPC method 'photos.uploadProfilePhoto' public: MTPInputFile vfile; MTPstring vcaption; MTPInputGeoPoint vgeo_point; MTPInputPhotoCrop vcrop; MTPphotos_uploadProfilePhoto() { } MTPphotos_uploadProfilePhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_uploadProfilePhoto) { read(from, end, cons); } MTPphotos_uploadProfilePhoto(const MTPInputFile &_file, const MTPstring &_caption, const MTPInputGeoPoint &_geo_point, const MTPInputPhotoCrop &_crop) : vfile(_file), vcaption(_caption), vgeo_point(_geo_point), vcrop(_crop) { } uint32 size() const { return vfile.size() + vcaption.size() + vgeo_point.size() + vcrop.size(); } mtpTypeId type() const { return mtpc_photos_uploadProfilePhoto; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_uploadProfilePhoto) { vfile.read(from, end); vcaption.read(from, end); vgeo_point.read(from, end); vcrop.read(from, end); } void write(mtpBuffer &to) const { vfile.write(to); vcaption.write(to); vgeo_point.write(to); vcrop.write(to); } typedef MTPphotos_Photo ResponseType; }; class MTPphotos_UploadProfilePhoto : public MTPBoxed { public: MTPphotos_UploadProfilePhoto() { } MTPphotos_UploadProfilePhoto(const MTPphotos_uploadProfilePhoto &v) : MTPBoxed(v) { } MTPphotos_UploadProfilePhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPphotos_UploadProfilePhoto(const MTPInputFile &_file, const MTPstring &_caption, const MTPInputGeoPoint &_geo_point, const MTPInputPhotoCrop &_crop) : MTPBoxed(MTPphotos_uploadProfilePhoto(_file, _caption, _geo_point, _crop)) { } }; class MTPupload_saveFilePart { // RPC method 'upload.saveFilePart' public: MTPlong vfile_id; MTPint vfile_part; MTPbytes vbytes; MTPupload_saveFilePart() { } MTPupload_saveFilePart(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_saveFilePart) { read(from, end, cons); } MTPupload_saveFilePart(const MTPlong &_file_id, MTPint _file_part, const MTPbytes &_bytes) : vfile_id(_file_id), vfile_part(_file_part), vbytes(_bytes) { } uint32 size() const { return vfile_id.size() + vfile_part.size() + vbytes.size(); } mtpTypeId type() const { return mtpc_upload_saveFilePart; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_saveFilePart) { vfile_id.read(from, end); vfile_part.read(from, end); vbytes.read(from, end); } void write(mtpBuffer &to) const { vfile_id.write(to); vfile_part.write(to); vbytes.write(to); } typedef MTPBool ResponseType; }; class MTPupload_SaveFilePart : public MTPBoxed { public: MTPupload_SaveFilePart() { } MTPupload_SaveFilePart(const MTPupload_saveFilePart &v) : MTPBoxed(v) { } MTPupload_SaveFilePart(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPupload_SaveFilePart(const MTPlong &_file_id, MTPint _file_part, const MTPbytes &_bytes) : MTPBoxed(MTPupload_saveFilePart(_file_id, _file_part, _bytes)) { } }; class MTPupload_getFile { // RPC method 'upload.getFile' public: MTPInputFileLocation vlocation; MTPint voffset; MTPint vlimit; MTPupload_getFile() { } MTPupload_getFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_getFile) { read(from, end, cons); } MTPupload_getFile(const MTPInputFileLocation &_location, MTPint _offset, MTPint _limit) : vlocation(_location), voffset(_offset), vlimit(_limit) { } uint32 size() const { return vlocation.size() + voffset.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_upload_getFile; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_getFile) { vlocation.read(from, end); voffset.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vlocation.write(to); voffset.write(to); vlimit.write(to); } typedef MTPupload_File ResponseType; }; class MTPupload_GetFile : public MTPBoxed { public: MTPupload_GetFile() { } MTPupload_GetFile(const MTPupload_getFile &v) : MTPBoxed(v) { } MTPupload_GetFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPupload_GetFile(const MTPInputFileLocation &_location, MTPint _offset, MTPint _limit) : MTPBoxed(MTPupload_getFile(_location, _offset, _limit)) { } }; class MTPhelp_getConfig { // RPC method 'help.getConfig' public: MTPhelp_getConfig() { } MTPhelp_getConfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getConfig) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_help_getConfig; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getConfig) { } void write(mtpBuffer &to) const { } typedef MTPConfig ResponseType; }; class MTPhelp_GetConfig : public MTPBoxed { public: MTPhelp_GetConfig() { } MTPhelp_GetConfig(const MTPhelp_getConfig &v) : MTPBoxed(v) { } MTPhelp_GetConfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPhelp_getNearestDc { // RPC method 'help.getNearestDc' public: MTPhelp_getNearestDc() { } MTPhelp_getNearestDc(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getNearestDc) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_help_getNearestDc; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getNearestDc) { } void write(mtpBuffer &to) const { } typedef MTPNearestDc ResponseType; }; class MTPhelp_GetNearestDc : public MTPBoxed { public: MTPhelp_GetNearestDc() { } MTPhelp_GetNearestDc(const MTPhelp_getNearestDc &v) : MTPBoxed(v) { } MTPhelp_GetNearestDc(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; class MTPhelp_getAppUpdate { // RPC method 'help.getAppUpdate' public: MTPstring vdevice_model; MTPstring vsystem_version; MTPstring vapp_version; MTPstring vlang_code; MTPhelp_getAppUpdate() { } MTPhelp_getAppUpdate(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getAppUpdate) { read(from, end, cons); } MTPhelp_getAppUpdate(const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, const MTPstring &_lang_code) : vdevice_model(_device_model), vsystem_version(_system_version), vapp_version(_app_version), vlang_code(_lang_code) { } uint32 size() const { return vdevice_model.size() + vsystem_version.size() + vapp_version.size() + vlang_code.size(); } mtpTypeId type() const { return mtpc_help_getAppUpdate; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getAppUpdate) { vdevice_model.read(from, end); vsystem_version.read(from, end); vapp_version.read(from, end); vlang_code.read(from, end); } void write(mtpBuffer &to) const { vdevice_model.write(to); vsystem_version.write(to); vapp_version.write(to); vlang_code.write(to); } typedef MTPhelp_AppUpdate ResponseType; }; class MTPhelp_GetAppUpdate : public MTPBoxed { public: MTPhelp_GetAppUpdate() { } MTPhelp_GetAppUpdate(const MTPhelp_getAppUpdate &v) : MTPBoxed(v) { } MTPhelp_GetAppUpdate(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPhelp_GetAppUpdate(const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, const MTPstring &_lang_code) : MTPBoxed(MTPhelp_getAppUpdate(_device_model, _system_version, _app_version, _lang_code)) { } }; class MTPhelp_saveAppLog { // RPC method 'help.saveAppLog' public: MTPVector vevents; MTPhelp_saveAppLog() { } MTPhelp_saveAppLog(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_saveAppLog) { read(from, end, cons); } MTPhelp_saveAppLog(const MTPVector &_events) : vevents(_events) { } uint32 size() const { return vevents.size(); } mtpTypeId type() const { return mtpc_help_saveAppLog; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_saveAppLog) { vevents.read(from, end); } void write(mtpBuffer &to) const { vevents.write(to); } typedef MTPBool ResponseType; }; class MTPhelp_SaveAppLog : public MTPBoxed { public: MTPhelp_SaveAppLog() { } MTPhelp_SaveAppLog(const MTPhelp_saveAppLog &v) : MTPBoxed(v) { } MTPhelp_SaveAppLog(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPhelp_SaveAppLog(const MTPVector &_events) : MTPBoxed(MTPhelp_saveAppLog(_events)) { } }; class MTPhelp_getInviteText { // RPC method 'help.getInviteText' public: MTPstring vlang_code; MTPhelp_getInviteText() { } MTPhelp_getInviteText(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getInviteText) { read(from, end, cons); } MTPhelp_getInviteText(const MTPstring &_lang_code) : vlang_code(_lang_code) { } uint32 size() const { return vlang_code.size(); } mtpTypeId type() const { return mtpc_help_getInviteText; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getInviteText) { vlang_code.read(from, end); } void write(mtpBuffer &to) const { vlang_code.write(to); } typedef MTPhelp_InviteText ResponseType; }; class MTPhelp_GetInviteText : public MTPBoxed { public: MTPhelp_GetInviteText() { } MTPhelp_GetInviteText(const MTPhelp_getInviteText &v) : MTPBoxed(v) { } MTPhelp_GetInviteText(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPhelp_GetInviteText(const MTPstring &_lang_code) : MTPBoxed(MTPhelp_getInviteText(_lang_code)) { } }; class MTPphotos_getUserPhotos { // RPC method 'photos.getUserPhotos' public: MTPInputUser vuser_id; MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPphotos_getUserPhotos() { } MTPphotos_getUserPhotos(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_getUserPhotos) { read(from, end, cons); } MTPphotos_getUserPhotos(const MTPInputUser &_user_id, MTPint _offset, MTPint _max_id, MTPint _limit) : vuser_id(_user_id), voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return vuser_id.size() + voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_photos_getUserPhotos; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_photos_getUserPhotos) { vuser_id.read(from, end); voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vuser_id.write(to); voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPphotos_Photos ResponseType; }; class MTPphotos_GetUserPhotos : public MTPBoxed { public: MTPphotos_GetUserPhotos() { } MTPphotos_GetUserPhotos(const MTPphotos_getUserPhotos &v) : MTPBoxed(v) { } MTPphotos_GetUserPhotos(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPphotos_GetUserPhotos(const MTPInputUser &_user_id, MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPphotos_getUserPhotos(_user_id, _offset, _max_id, _limit)) { } }; class MTPmessages_forwardMessage { // RPC method 'messages.forwardMessage' public: MTPInputPeer vpeer; MTPint vid; MTPlong vrandom_id; MTPmessages_forwardMessage() { } MTPmessages_forwardMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_forwardMessage) { read(from, end, cons); } MTPmessages_forwardMessage(const MTPInputPeer &_peer, MTPint _id, const MTPlong &_random_id) : vpeer(_peer), vid(_id), vrandom_id(_random_id) { } uint32 size() const { return vpeer.size() + vid.size() + vrandom_id.size(); } mtpTypeId type() const { return mtpc_messages_forwardMessage; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_forwardMessage) { vpeer.read(from, end); vid.read(from, end); vrandom_id.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vid.write(to); vrandom_id.write(to); } typedef MTPmessages_StatedMessage ResponseType; }; class MTPmessages_ForwardMessage : public MTPBoxed { public: MTPmessages_ForwardMessage() { } MTPmessages_ForwardMessage(const MTPmessages_forwardMessage &v) : MTPBoxed(v) { } MTPmessages_ForwardMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ForwardMessage(const MTPInputPeer &_peer, MTPint _id, const MTPlong &_random_id) : MTPBoxed(MTPmessages_forwardMessage(_peer, _id, _random_id)) { } }; class MTPmessages_sendBroadcast { // RPC method 'messages.sendBroadcast' public: MTPVector vcontacts; MTPstring vmessage; MTPInputMedia vmedia; MTPmessages_sendBroadcast() { } MTPmessages_sendBroadcast(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendBroadcast) { read(from, end, cons); } MTPmessages_sendBroadcast(const MTPVector &_contacts, const MTPstring &_message, const MTPInputMedia &_media) : vcontacts(_contacts), vmessage(_message), vmedia(_media) { } uint32 size() const { return vcontacts.size() + vmessage.size() + vmedia.size(); } mtpTypeId type() const { return mtpc_messages_sendBroadcast; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendBroadcast) { vcontacts.read(from, end); vmessage.read(from, end); vmedia.read(from, end); } void write(mtpBuffer &to) const { vcontacts.write(to); vmessage.write(to); vmedia.write(to); } typedef MTPmessages_StatedMessages ResponseType; }; class MTPmessages_SendBroadcast : public MTPBoxed { public: MTPmessages_SendBroadcast() { } MTPmessages_SendBroadcast(const MTPmessages_sendBroadcast &v) : MTPBoxed(v) { } MTPmessages_SendBroadcast(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendBroadcast(const MTPVector &_contacts, const MTPstring &_message, const MTPInputMedia &_media) : MTPBoxed(MTPmessages_sendBroadcast(_contacts, _message, _media)) { } }; class MTPgeochats_getLocated { // RPC method 'geochats.getLocated' public: MTPInputGeoPoint vgeo_point; MTPint vradius; MTPint vlimit; MTPgeochats_getLocated() { } MTPgeochats_getLocated(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getLocated) { read(from, end, cons); } MTPgeochats_getLocated(const MTPInputGeoPoint &_geo_point, MTPint _radius, MTPint _limit) : vgeo_point(_geo_point), vradius(_radius), vlimit(_limit) { } uint32 size() const { return vgeo_point.size() + vradius.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_geochats_getLocated; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getLocated) { vgeo_point.read(from, end); vradius.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vgeo_point.write(to); vradius.write(to); vlimit.write(to); } typedef MTPgeochats_Located ResponseType; }; class MTPgeochats_GetLocated : public MTPBoxed { public: MTPgeochats_GetLocated() { } MTPgeochats_GetLocated(const MTPgeochats_getLocated &v) : MTPBoxed(v) { } MTPgeochats_GetLocated(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_GetLocated(const MTPInputGeoPoint &_geo_point, MTPint _radius, MTPint _limit) : MTPBoxed(MTPgeochats_getLocated(_geo_point, _radius, _limit)) { } }; class MTPgeochats_getRecents { // RPC method 'geochats.getRecents' public: MTPint voffset; MTPint vlimit; MTPgeochats_getRecents() { } MTPgeochats_getRecents(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getRecents) { read(from, end, cons); } MTPgeochats_getRecents(MTPint _offset, MTPint _limit) : voffset(_offset), vlimit(_limit) { } uint32 size() const { return voffset.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_geochats_getRecents; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getRecents) { voffset.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { voffset.write(to); vlimit.write(to); } typedef MTPgeochats_Messages ResponseType; }; class MTPgeochats_GetRecents : public MTPBoxed { public: MTPgeochats_GetRecents() { } MTPgeochats_GetRecents(const MTPgeochats_getRecents &v) : MTPBoxed(v) { } MTPgeochats_GetRecents(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_GetRecents(MTPint _offset, MTPint _limit) : MTPBoxed(MTPgeochats_getRecents(_offset, _limit)) { } }; class MTPgeochats_checkin { // RPC method 'geochats.checkin' public: MTPInputGeoChat vpeer; MTPgeochats_checkin() { } MTPgeochats_checkin(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_checkin) { read(from, end, cons); } MTPgeochats_checkin(const MTPInputGeoChat &_peer) : vpeer(_peer) { } uint32 size() const { return vpeer.size(); } mtpTypeId type() const { return mtpc_geochats_checkin; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_checkin) { vpeer.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_Checkin : public MTPBoxed { public: MTPgeochats_Checkin() { } MTPgeochats_Checkin(const MTPgeochats_checkin &v) : MTPBoxed(v) { } MTPgeochats_Checkin(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_Checkin(const MTPInputGeoChat &_peer) : MTPBoxed(MTPgeochats_checkin(_peer)) { } }; class MTPgeochats_getFullChat { // RPC method 'geochats.getFullChat' public: MTPInputGeoChat vpeer; MTPgeochats_getFullChat() { } MTPgeochats_getFullChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getFullChat) { read(from, end, cons); } MTPgeochats_getFullChat(const MTPInputGeoChat &_peer) : vpeer(_peer) { } uint32 size() const { return vpeer.size(); } mtpTypeId type() const { return mtpc_geochats_getFullChat; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getFullChat) { vpeer.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); } typedef MTPmessages_ChatFull ResponseType; }; class MTPgeochats_GetFullChat : public MTPBoxed { public: MTPgeochats_GetFullChat() { } MTPgeochats_GetFullChat(const MTPgeochats_getFullChat &v) : MTPBoxed(v) { } MTPgeochats_GetFullChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_GetFullChat(const MTPInputGeoChat &_peer) : MTPBoxed(MTPgeochats_getFullChat(_peer)) { } }; class MTPgeochats_editChatTitle { // RPC method 'geochats.editChatTitle' public: MTPInputGeoChat vpeer; MTPstring vtitle; MTPstring vaddress; MTPgeochats_editChatTitle() { } MTPgeochats_editChatTitle(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_editChatTitle) { read(from, end, cons); } MTPgeochats_editChatTitle(const MTPInputGeoChat &_peer, const MTPstring &_title, const MTPstring &_address) : vpeer(_peer), vtitle(_title), vaddress(_address) { } uint32 size() const { return vpeer.size() + vtitle.size() + vaddress.size(); } mtpTypeId type() const { return mtpc_geochats_editChatTitle; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_editChatTitle) { vpeer.read(from, end); vtitle.read(from, end); vaddress.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vtitle.write(to); vaddress.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_EditChatTitle : public MTPBoxed { public: MTPgeochats_EditChatTitle() { } MTPgeochats_EditChatTitle(const MTPgeochats_editChatTitle &v) : MTPBoxed(v) { } MTPgeochats_EditChatTitle(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_EditChatTitle(const MTPInputGeoChat &_peer, const MTPstring &_title, const MTPstring &_address) : MTPBoxed(MTPgeochats_editChatTitle(_peer, _title, _address)) { } }; class MTPgeochats_editChatPhoto { // RPC method 'geochats.editChatPhoto' public: MTPInputGeoChat vpeer; MTPInputChatPhoto vphoto; MTPgeochats_editChatPhoto() { } MTPgeochats_editChatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_editChatPhoto) { read(from, end, cons); } MTPgeochats_editChatPhoto(const MTPInputGeoChat &_peer, const MTPInputChatPhoto &_photo) : vpeer(_peer), vphoto(_photo) { } uint32 size() const { return vpeer.size() + vphoto.size(); } mtpTypeId type() const { return mtpc_geochats_editChatPhoto; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_editChatPhoto) { vpeer.read(from, end); vphoto.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vphoto.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_EditChatPhoto : public MTPBoxed { public: MTPgeochats_EditChatPhoto() { } MTPgeochats_EditChatPhoto(const MTPgeochats_editChatPhoto &v) : MTPBoxed(v) { } MTPgeochats_EditChatPhoto(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_EditChatPhoto(const MTPInputGeoChat &_peer, const MTPInputChatPhoto &_photo) : MTPBoxed(MTPgeochats_editChatPhoto(_peer, _photo)) { } }; class MTPgeochats_search { // RPC method 'geochats.search' public: MTPInputGeoChat vpeer; MTPstring vq; MTPMessagesFilter vfilter; MTPint vmin_date; MTPint vmax_date; MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPgeochats_search() { } MTPgeochats_search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_search) { read(from, end, cons); } MTPgeochats_search(const MTPInputGeoChat &_peer, const MTPstring &_q, const MTPMessagesFilter &_filter, MTPint _min_date, MTPint _max_date, MTPint _offset, MTPint _max_id, MTPint _limit) : vpeer(_peer), vq(_q), vfilter(_filter), vmin_date(_min_date), vmax_date(_max_date), voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return vpeer.size() + vq.size() + vfilter.size() + vmin_date.size() + vmax_date.size() + voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_geochats_search; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_search) { vpeer.read(from, end); vq.read(from, end); vfilter.read(from, end); vmin_date.read(from, end); vmax_date.read(from, end); voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vq.write(to); vfilter.write(to); vmin_date.write(to); vmax_date.write(to); voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPgeochats_Messages ResponseType; }; class MTPgeochats_Search : public MTPBoxed { public: MTPgeochats_Search() { } MTPgeochats_Search(const MTPgeochats_search &v) : MTPBoxed(v) { } MTPgeochats_Search(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_Search(const MTPInputGeoChat &_peer, const MTPstring &_q, const MTPMessagesFilter &_filter, MTPint _min_date, MTPint _max_date, MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPgeochats_search(_peer, _q, _filter, _min_date, _max_date, _offset, _max_id, _limit)) { } }; class MTPgeochats_getHistory { // RPC method 'geochats.getHistory' public: MTPInputGeoChat vpeer; MTPint voffset; MTPint vmax_id; MTPint vlimit; MTPgeochats_getHistory() { } MTPgeochats_getHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getHistory) { read(from, end, cons); } MTPgeochats_getHistory(const MTPInputGeoChat &_peer, MTPint _offset, MTPint _max_id, MTPint _limit) : vpeer(_peer), voffset(_offset), vmax_id(_max_id), vlimit(_limit) { } uint32 size() const { return vpeer.size() + voffset.size() + vmax_id.size() + vlimit.size(); } mtpTypeId type() const { return mtpc_geochats_getHistory; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_getHistory) { vpeer.read(from, end); voffset.read(from, end); vmax_id.read(from, end); vlimit.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); voffset.write(to); vmax_id.write(to); vlimit.write(to); } typedef MTPgeochats_Messages ResponseType; }; class MTPgeochats_GetHistory : public MTPBoxed { public: MTPgeochats_GetHistory() { } MTPgeochats_GetHistory(const MTPgeochats_getHistory &v) : MTPBoxed(v) { } MTPgeochats_GetHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_GetHistory(const MTPInputGeoChat &_peer, MTPint _offset, MTPint _max_id, MTPint _limit) : MTPBoxed(MTPgeochats_getHistory(_peer, _offset, _max_id, _limit)) { } }; class MTPgeochats_setTyping { // RPC method 'geochats.setTyping' public: MTPInputGeoChat vpeer; MTPBool vtyping; MTPgeochats_setTyping() { } MTPgeochats_setTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_setTyping) { read(from, end, cons); } MTPgeochats_setTyping(const MTPInputGeoChat &_peer, MTPBool _typing) : vpeer(_peer), vtyping(_typing) { } uint32 size() const { return vpeer.size() + vtyping.size(); } mtpTypeId type() const { return mtpc_geochats_setTyping; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_setTyping) { vpeer.read(from, end); vtyping.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vtyping.write(to); } typedef MTPBool ResponseType; }; class MTPgeochats_SetTyping : public MTPBoxed { public: MTPgeochats_SetTyping() { } MTPgeochats_SetTyping(const MTPgeochats_setTyping &v) : MTPBoxed(v) { } MTPgeochats_SetTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_SetTyping(const MTPInputGeoChat &_peer, MTPBool _typing) : MTPBoxed(MTPgeochats_setTyping(_peer, _typing)) { } }; class MTPgeochats_sendMessage { // RPC method 'geochats.sendMessage' public: MTPInputGeoChat vpeer; MTPstring vmessage; MTPlong vrandom_id; MTPgeochats_sendMessage() { } MTPgeochats_sendMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_sendMessage) { read(from, end, cons); } MTPgeochats_sendMessage(const MTPInputGeoChat &_peer, const MTPstring &_message, const MTPlong &_random_id) : vpeer(_peer), vmessage(_message), vrandom_id(_random_id) { } uint32 size() const { return vpeer.size() + vmessage.size() + vrandom_id.size(); } mtpTypeId type() const { return mtpc_geochats_sendMessage; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_sendMessage) { vpeer.read(from, end); vmessage.read(from, end); vrandom_id.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmessage.write(to); vrandom_id.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_SendMessage : public MTPBoxed { public: MTPgeochats_SendMessage() { } MTPgeochats_SendMessage(const MTPgeochats_sendMessage &v) : MTPBoxed(v) { } MTPgeochats_SendMessage(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_SendMessage(const MTPInputGeoChat &_peer, const MTPstring &_message, const MTPlong &_random_id) : MTPBoxed(MTPgeochats_sendMessage(_peer, _message, _random_id)) { } }; class MTPgeochats_sendMedia { // RPC method 'geochats.sendMedia' public: MTPInputGeoChat vpeer; MTPInputMedia vmedia; MTPlong vrandom_id; MTPgeochats_sendMedia() { } MTPgeochats_sendMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_sendMedia) { read(from, end, cons); } MTPgeochats_sendMedia(const MTPInputGeoChat &_peer, const MTPInputMedia &_media, const MTPlong &_random_id) : vpeer(_peer), vmedia(_media), vrandom_id(_random_id) { } uint32 size() const { return vpeer.size() + vmedia.size() + vrandom_id.size(); } mtpTypeId type() const { return mtpc_geochats_sendMedia; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_sendMedia) { vpeer.read(from, end); vmedia.read(from, end); vrandom_id.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmedia.write(to); vrandom_id.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_SendMedia : public MTPBoxed { public: MTPgeochats_SendMedia() { } MTPgeochats_SendMedia(const MTPgeochats_sendMedia &v) : MTPBoxed(v) { } MTPgeochats_SendMedia(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_SendMedia(const MTPInputGeoChat &_peer, const MTPInputMedia &_media, const MTPlong &_random_id) : MTPBoxed(MTPgeochats_sendMedia(_peer, _media, _random_id)) { } }; class MTPgeochats_createGeoChat { // RPC method 'geochats.createGeoChat' public: MTPstring vtitle; MTPInputGeoPoint vgeo_point; MTPstring vaddress; MTPstring vvenue; MTPgeochats_createGeoChat() { } MTPgeochats_createGeoChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_createGeoChat) { read(from, end, cons); } MTPgeochats_createGeoChat(const MTPstring &_title, const MTPInputGeoPoint &_geo_point, const MTPstring &_address, const MTPstring &_venue) : vtitle(_title), vgeo_point(_geo_point), vaddress(_address), vvenue(_venue) { } uint32 size() const { return vtitle.size() + vgeo_point.size() + vaddress.size() + vvenue.size(); } mtpTypeId type() const { return mtpc_geochats_createGeoChat; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_geochats_createGeoChat) { vtitle.read(from, end); vgeo_point.read(from, end); vaddress.read(from, end); vvenue.read(from, end); } void write(mtpBuffer &to) const { vtitle.write(to); vgeo_point.write(to); vaddress.write(to); vvenue.write(to); } typedef MTPgeochats_StatedMessage ResponseType; }; class MTPgeochats_CreateGeoChat : public MTPBoxed { public: MTPgeochats_CreateGeoChat() { } MTPgeochats_CreateGeoChat(const MTPgeochats_createGeoChat &v) : MTPBoxed(v) { } MTPgeochats_CreateGeoChat(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPgeochats_CreateGeoChat(const MTPstring &_title, const MTPInputGeoPoint &_geo_point, const MTPstring &_address, const MTPstring &_venue) : MTPBoxed(MTPgeochats_createGeoChat(_title, _geo_point, _address, _venue)) { } }; class MTPmessages_getDhConfig { // RPC method 'messages.getDhConfig' public: MTPint vversion; MTPint vrandom_length; MTPmessages_getDhConfig() { } MTPmessages_getDhConfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getDhConfig) { read(from, end, cons); } MTPmessages_getDhConfig(MTPint _version, MTPint _random_length) : vversion(_version), vrandom_length(_random_length) { } uint32 size() const { return vversion.size() + vrandom_length.size(); } mtpTypeId type() const { return mtpc_messages_getDhConfig; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_getDhConfig) { vversion.read(from, end); vrandom_length.read(from, end); } void write(mtpBuffer &to) const { vversion.write(to); vrandom_length.write(to); } typedef MTPmessages_DhConfig ResponseType; }; class MTPmessages_GetDhConfig : public MTPBoxed { public: MTPmessages_GetDhConfig() { } MTPmessages_GetDhConfig(const MTPmessages_getDhConfig &v) : MTPBoxed(v) { } MTPmessages_GetDhConfig(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_GetDhConfig(MTPint _version, MTPint _random_length) : MTPBoxed(MTPmessages_getDhConfig(_version, _random_length)) { } }; class MTPmessages_requestEncryption { // RPC method 'messages.requestEncryption' public: MTPInputUser vuser_id; MTPint vrandom_id; MTPbytes vg_a; MTPmessages_requestEncryption() { } MTPmessages_requestEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_requestEncryption) { read(from, end, cons); } MTPmessages_requestEncryption(const MTPInputUser &_user_id, MTPint _random_id, const MTPbytes &_g_a) : vuser_id(_user_id), vrandom_id(_random_id), vg_a(_g_a) { } uint32 size() const { return vuser_id.size() + vrandom_id.size() + vg_a.size(); } mtpTypeId type() const { return mtpc_messages_requestEncryption; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_requestEncryption) { vuser_id.read(from, end); vrandom_id.read(from, end); vg_a.read(from, end); } void write(mtpBuffer &to) const { vuser_id.write(to); vrandom_id.write(to); vg_a.write(to); } typedef MTPEncryptedChat ResponseType; }; class MTPmessages_RequestEncryption : public MTPBoxed { public: MTPmessages_RequestEncryption() { } MTPmessages_RequestEncryption(const MTPmessages_requestEncryption &v) : MTPBoxed(v) { } MTPmessages_RequestEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_RequestEncryption(const MTPInputUser &_user_id, MTPint _random_id, const MTPbytes &_g_a) : MTPBoxed(MTPmessages_requestEncryption(_user_id, _random_id, _g_a)) { } }; class MTPmessages_acceptEncryption { // RPC method 'messages.acceptEncryption' public: MTPInputEncryptedChat vpeer; MTPbytes vg_b; MTPlong vkey_fingerprint; MTPmessages_acceptEncryption() { } MTPmessages_acceptEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_acceptEncryption) { read(from, end, cons); } MTPmessages_acceptEncryption(const MTPInputEncryptedChat &_peer, const MTPbytes &_g_b, const MTPlong &_key_fingerprint) : vpeer(_peer), vg_b(_g_b), vkey_fingerprint(_key_fingerprint) { } uint32 size() const { return vpeer.size() + vg_b.size() + vkey_fingerprint.size(); } mtpTypeId type() const { return mtpc_messages_acceptEncryption; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_acceptEncryption) { vpeer.read(from, end); vg_b.read(from, end); vkey_fingerprint.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vg_b.write(to); vkey_fingerprint.write(to); } typedef MTPEncryptedChat ResponseType; }; class MTPmessages_AcceptEncryption : public MTPBoxed { public: MTPmessages_AcceptEncryption() { } MTPmessages_AcceptEncryption(const MTPmessages_acceptEncryption &v) : MTPBoxed(v) { } MTPmessages_AcceptEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_AcceptEncryption(const MTPInputEncryptedChat &_peer, const MTPbytes &_g_b, const MTPlong &_key_fingerprint) : MTPBoxed(MTPmessages_acceptEncryption(_peer, _g_b, _key_fingerprint)) { } }; class MTPmessages_discardEncryption { // RPC method 'messages.discardEncryption' public: MTPint vchat_id; MTPmessages_discardEncryption() { } MTPmessages_discardEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_discardEncryption) { read(from, end, cons); } MTPmessages_discardEncryption(MTPint _chat_id) : vchat_id(_chat_id) { } uint32 size() const { return vchat_id.size(); } mtpTypeId type() const { return mtpc_messages_discardEncryption; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_discardEncryption) { vchat_id.read(from, end); } void write(mtpBuffer &to) const { vchat_id.write(to); } typedef MTPBool ResponseType; }; class MTPmessages_DiscardEncryption : public MTPBoxed { public: MTPmessages_DiscardEncryption() { } MTPmessages_DiscardEncryption(const MTPmessages_discardEncryption &v) : MTPBoxed(v) { } MTPmessages_DiscardEncryption(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_DiscardEncryption(MTPint _chat_id) : MTPBoxed(MTPmessages_discardEncryption(_chat_id)) { } }; class MTPmessages_setEncryptedTyping { // RPC method 'messages.setEncryptedTyping' public: MTPInputEncryptedChat vpeer; MTPBool vtyping; MTPmessages_setEncryptedTyping() { } MTPmessages_setEncryptedTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_setEncryptedTyping) { read(from, end, cons); } MTPmessages_setEncryptedTyping(const MTPInputEncryptedChat &_peer, MTPBool _typing) : vpeer(_peer), vtyping(_typing) { } uint32 size() const { return vpeer.size() + vtyping.size(); } mtpTypeId type() const { return mtpc_messages_setEncryptedTyping; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_setEncryptedTyping) { vpeer.read(from, end); vtyping.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vtyping.write(to); } typedef MTPBool ResponseType; }; class MTPmessages_SetEncryptedTyping : public MTPBoxed { public: MTPmessages_SetEncryptedTyping() { } MTPmessages_SetEncryptedTyping(const MTPmessages_setEncryptedTyping &v) : MTPBoxed(v) { } MTPmessages_SetEncryptedTyping(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SetEncryptedTyping(const MTPInputEncryptedChat &_peer, MTPBool _typing) : MTPBoxed(MTPmessages_setEncryptedTyping(_peer, _typing)) { } }; class MTPmessages_readEncryptedHistory { // RPC method 'messages.readEncryptedHistory' public: MTPInputEncryptedChat vpeer; MTPint vmax_date; MTPmessages_readEncryptedHistory() { } MTPmessages_readEncryptedHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_readEncryptedHistory) { read(from, end, cons); } MTPmessages_readEncryptedHistory(const MTPInputEncryptedChat &_peer, MTPint _max_date) : vpeer(_peer), vmax_date(_max_date) { } uint32 size() const { return vpeer.size() + vmax_date.size(); } mtpTypeId type() const { return mtpc_messages_readEncryptedHistory; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_readEncryptedHistory) { vpeer.read(from, end); vmax_date.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vmax_date.write(to); } typedef MTPBool ResponseType; }; class MTPmessages_ReadEncryptedHistory : public MTPBoxed { public: MTPmessages_ReadEncryptedHistory() { } MTPmessages_ReadEncryptedHistory(const MTPmessages_readEncryptedHistory &v) : MTPBoxed(v) { } MTPmessages_ReadEncryptedHistory(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ReadEncryptedHistory(const MTPInputEncryptedChat &_peer, MTPint _max_date) : MTPBoxed(MTPmessages_readEncryptedHistory(_peer, _max_date)) { } }; class MTPmessages_sendEncrypted { // RPC method 'messages.sendEncrypted' public: MTPInputEncryptedChat vpeer; MTPlong vrandom_id; MTPbytes vdata; MTPmessages_sendEncrypted() { } MTPmessages_sendEncrypted(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncrypted) { read(from, end, cons); } MTPmessages_sendEncrypted(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data) : vpeer(_peer), vrandom_id(_random_id), vdata(_data) { } uint32 size() const { return vpeer.size() + vrandom_id.size() + vdata.size(); } mtpTypeId type() const { return mtpc_messages_sendEncrypted; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncrypted) { vpeer.read(from, end); vrandom_id.read(from, end); vdata.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vrandom_id.write(to); vdata.write(to); } typedef MTPmessages_SentEncryptedMessage ResponseType; }; class MTPmessages_SendEncrypted : public MTPBoxed { public: MTPmessages_SendEncrypted() { } MTPmessages_SendEncrypted(const MTPmessages_sendEncrypted &v) : MTPBoxed(v) { } MTPmessages_SendEncrypted(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendEncrypted(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data) : MTPBoxed(MTPmessages_sendEncrypted(_peer, _random_id, _data)) { } }; class MTPmessages_sendEncryptedFile { // RPC method 'messages.sendEncryptedFile' public: MTPInputEncryptedChat vpeer; MTPlong vrandom_id; MTPbytes vdata; MTPInputEncryptedFile vfile; MTPmessages_sendEncryptedFile() { } MTPmessages_sendEncryptedFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncryptedFile) { read(from, end, cons); } MTPmessages_sendEncryptedFile(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data, const MTPInputEncryptedFile &_file) : vpeer(_peer), vrandom_id(_random_id), vdata(_data), vfile(_file) { } uint32 size() const { return vpeer.size() + vrandom_id.size() + vdata.size() + vfile.size(); } mtpTypeId type() const { return mtpc_messages_sendEncryptedFile; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncryptedFile) { vpeer.read(from, end); vrandom_id.read(from, end); vdata.read(from, end); vfile.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vrandom_id.write(to); vdata.write(to); vfile.write(to); } typedef MTPmessages_SentEncryptedMessage ResponseType; }; class MTPmessages_SendEncryptedFile : public MTPBoxed { public: MTPmessages_SendEncryptedFile() { } MTPmessages_SendEncryptedFile(const MTPmessages_sendEncryptedFile &v) : MTPBoxed(v) { } MTPmessages_SendEncryptedFile(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendEncryptedFile(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data, const MTPInputEncryptedFile &_file) : MTPBoxed(MTPmessages_sendEncryptedFile(_peer, _random_id, _data, _file)) { } }; class MTPmessages_sendEncryptedService { // RPC method 'messages.sendEncryptedService' public: MTPInputEncryptedChat vpeer; MTPlong vrandom_id; MTPbytes vdata; MTPmessages_sendEncryptedService() { } MTPmessages_sendEncryptedService(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncryptedService) { read(from, end, cons); } MTPmessages_sendEncryptedService(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data) : vpeer(_peer), vrandom_id(_random_id), vdata(_data) { } uint32 size() const { return vpeer.size() + vrandom_id.size() + vdata.size(); } mtpTypeId type() const { return mtpc_messages_sendEncryptedService; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_sendEncryptedService) { vpeer.read(from, end); vrandom_id.read(from, end); vdata.read(from, end); } void write(mtpBuffer &to) const { vpeer.write(to); vrandom_id.write(to); vdata.write(to); } typedef MTPmessages_SentEncryptedMessage ResponseType; }; class MTPmessages_SendEncryptedService : public MTPBoxed { public: MTPmessages_SendEncryptedService() { } MTPmessages_SendEncryptedService(const MTPmessages_sendEncryptedService &v) : MTPBoxed(v) { } MTPmessages_SendEncryptedService(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_SendEncryptedService(const MTPInputEncryptedChat &_peer, const MTPlong &_random_id, const MTPbytes &_data) : MTPBoxed(MTPmessages_sendEncryptedService(_peer, _random_id, _data)) { } }; class MTPmessages_receivedQueue { // RPC method 'messages.receivedQueue' public: MTPint vmax_qts; MTPmessages_receivedQueue() { } MTPmessages_receivedQueue(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_receivedQueue) { read(from, end, cons); } MTPmessages_receivedQueue(MTPint _max_qts) : vmax_qts(_max_qts) { } uint32 size() const { return vmax_qts.size(); } mtpTypeId type() const { return mtpc_messages_receivedQueue; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_messages_receivedQueue) { vmax_qts.read(from, end); } void write(mtpBuffer &to) const { vmax_qts.write(to); } typedef MTPVector ResponseType; }; class MTPmessages_ReceivedQueue : public MTPBoxed { public: MTPmessages_ReceivedQueue() { } MTPmessages_ReceivedQueue(const MTPmessages_receivedQueue &v) : MTPBoxed(v) { } MTPmessages_ReceivedQueue(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPmessages_ReceivedQueue(MTPint _max_qts) : MTPBoxed(MTPmessages_receivedQueue(_max_qts)) { } }; class MTPupload_saveBigFilePart { // RPC method 'upload.saveBigFilePart' public: MTPlong vfile_id; MTPint vfile_part; MTPint vfile_total_parts; MTPbytes vbytes; MTPupload_saveBigFilePart() { } MTPupload_saveBigFilePart(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_saveBigFilePart) { read(from, end, cons); } MTPupload_saveBigFilePart(const MTPlong &_file_id, MTPint _file_part, MTPint _file_total_parts, const MTPbytes &_bytes) : vfile_id(_file_id), vfile_part(_file_part), vfile_total_parts(_file_total_parts), vbytes(_bytes) { } uint32 size() const { return vfile_id.size() + vfile_part.size() + vfile_total_parts.size() + vbytes.size(); } mtpTypeId type() const { return mtpc_upload_saveBigFilePart; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_upload_saveBigFilePart) { vfile_id.read(from, end); vfile_part.read(from, end); vfile_total_parts.read(from, end); vbytes.read(from, end); } void write(mtpBuffer &to) const { vfile_id.write(to); vfile_part.write(to); vfile_total_parts.write(to); vbytes.write(to); } typedef MTPBool ResponseType; }; class MTPupload_SaveBigFilePart : public MTPBoxed { public: MTPupload_SaveBigFilePart() { } MTPupload_SaveBigFilePart(const MTPupload_saveBigFilePart &v) : MTPBoxed(v) { } MTPupload_SaveBigFilePart(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } MTPupload_SaveBigFilePart(const MTPlong &_file_id, MTPint _file_part, MTPint _file_total_parts, const MTPbytes &_bytes) : MTPBoxed(MTPupload_saveBigFilePart(_file_id, _file_part, _file_total_parts, _bytes)) { } }; template class MTPinitConnection { // RPC method 'initConnection' public: MTPint vapi_id; MTPstring vdevice_model; MTPstring vsystem_version; MTPstring vapp_version; MTPstring vlang_code; TQueryType vquery; MTPinitConnection() { } MTPinitConnection(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_initConnection) { read(from, end, cons); } MTPinitConnection(MTPint _api_id, const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, const MTPstring &_lang_code, const TQueryType &_query) : vapi_id(_api_id), vdevice_model(_device_model), vsystem_version(_system_version), vapp_version(_app_version), vlang_code(_lang_code), vquery(_query) { } uint32 size() const { return vapi_id.size() + vdevice_model.size() + vsystem_version.size() + vapp_version.size() + vlang_code.size() + vquery.size(); } mtpTypeId type() const { return mtpc_initConnection; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_initConnection) { vapi_id.read(from, end); vdevice_model.read(from, end); vsystem_version.read(from, end); vapp_version.read(from, end); vlang_code.read(from, end); vquery.read(from, end); } void write(mtpBuffer &to) const { vapi_id.write(to); vdevice_model.write(to); vsystem_version.write(to); vapp_version.write(to); vlang_code.write(to); vquery.write(to); } typedef typename TQueryType::ResponseType ResponseType; }; template class MTPInitConnection : public MTPBoxed > { public: MTPInitConnection() { } MTPInitConnection(const MTPinitConnection &v) : MTPBoxed >(v) { } MTPInitConnection(MTPint _api_id, const MTPstring &_device_model, const MTPstring &_system_version, const MTPstring &_app_version, const MTPstring &_lang_code, const TQueryType &_query) : MTPBoxed >(MTPinitConnection(_api_id, _device_model, _system_version, _app_version, _lang_code, _query)) { } }; class MTPhelp_getSupport { // RPC method 'help.getSupport' public: MTPhelp_getSupport() { } MTPhelp_getSupport(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getSupport) { read(from, end, cons); } uint32 size() const { return 0; } mtpTypeId type() const { return mtpc_help_getSupport; } void read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = mtpc_help_getSupport) { } void write(mtpBuffer &to) const { } typedef MTPhelp_Support ResponseType; }; class MTPhelp_GetSupport : public MTPBoxed { public: MTPhelp_GetSupport() { } MTPhelp_GetSupport(const MTPhelp_getSupport &v) : MTPBoxed(v) { } MTPhelp_GetSupport(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons = 0) : MTPBoxed(from, end, cons) { } }; // Inline methods definition inline MTPresPQ::MTPresPQ() : mtpDataOwner(new MTPDresPQ()) { } inline uint32 MTPresPQ::size() const { const MTPDresPQ &v(c_resPQ()); return v.vnonce.size() + v.vserver_nonce.size() + v.vpq.size() + v.vserver_public_key_fingerprints.size(); } inline mtpTypeId MTPresPQ::type() const { return mtpc_resPQ; } inline void MTPresPQ::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_resPQ) throw mtpErrorUnexpected(cons, "MTPresPQ"); if (!data) setData(new MTPDresPQ()); MTPDresPQ &v(_resPQ()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vpq.read(from, end); v.vserver_public_key_fingerprints.read(from, end); } inline void MTPresPQ::write(mtpBuffer &to) const { const MTPDresPQ &v(c_resPQ()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vpq.write(to); v.vserver_public_key_fingerprints.write(to); } inline MTPresPQ::MTPresPQ(MTPDresPQ *_data) : mtpDataOwner(_data) { } inline MTPresPQ MTP_resPQ(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_pq, const MTPVector &_server_public_key_fingerprints) { return MTPresPQ(new MTPDresPQ(_nonce, _server_nonce, _pq, _server_public_key_fingerprints)); } inline MTPp_Q_inner_data::MTPp_Q_inner_data() : mtpDataOwner(new MTPDp_q_inner_data()) { } inline uint32 MTPp_Q_inner_data::size() const { const MTPDp_q_inner_data &v(c_p_q_inner_data()); return v.vpq.size() + v.vp.size() + v.vq.size() + v.vnonce.size() + v.vserver_nonce.size() + v.vnew_nonce.size(); } inline mtpTypeId MTPp_Q_inner_data::type() const { return mtpc_p_q_inner_data; } inline void MTPp_Q_inner_data::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_p_q_inner_data) throw mtpErrorUnexpected(cons, "MTPp_Q_inner_data"); if (!data) setData(new MTPDp_q_inner_data()); MTPDp_q_inner_data &v(_p_q_inner_data()); v.vpq.read(from, end); v.vp.read(from, end); v.vq.read(from, end); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vnew_nonce.read(from, end); } inline void MTPp_Q_inner_data::write(mtpBuffer &to) const { const MTPDp_q_inner_data &v(c_p_q_inner_data()); v.vpq.write(to); v.vp.write(to); v.vq.write(to); v.vnonce.write(to); v.vserver_nonce.write(to); v.vnew_nonce.write(to); } inline MTPp_Q_inner_data::MTPp_Q_inner_data(MTPDp_q_inner_data *_data) : mtpDataOwner(_data) { } inline MTPp_Q_inner_data MTP_p_q_inner_data(const MTPstring &_pq, const MTPstring &_p, const MTPstring &_q, const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint256 &_new_nonce) { return MTPp_Q_inner_data(new MTPDp_q_inner_data(_pq, _p, _q, _nonce, _server_nonce, _new_nonce)); } inline uint32 MTPserver_DH_Params::size() const { switch (_type) { case mtpc_server_DH_params_fail: { const MTPDserver_DH_params_fail &v(c_server_DH_params_fail()); return v.vnonce.size() + v.vserver_nonce.size() + v.vnew_nonce_hash.size(); } case mtpc_server_DH_params_ok: { const MTPDserver_DH_params_ok &v(c_server_DH_params_ok()); return v.vnonce.size() + v.vserver_nonce.size() + v.vencrypted_answer.size(); } } return 0; } inline mtpTypeId MTPserver_DH_Params::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPserver_DH_Params::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_server_DH_params_fail: _type = cons; { if (!data) setData(new MTPDserver_DH_params_fail()); MTPDserver_DH_params_fail &v(_server_DH_params_fail()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vnew_nonce_hash.read(from, end); } break; case mtpc_server_DH_params_ok: _type = cons; { if (!data) setData(new MTPDserver_DH_params_ok()); MTPDserver_DH_params_ok &v(_server_DH_params_ok()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vencrypted_answer.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPserver_DH_Params"); } } inline void MTPserver_DH_Params::write(mtpBuffer &to) const { switch (_type) { case mtpc_server_DH_params_fail: { const MTPDserver_DH_params_fail &v(c_server_DH_params_fail()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vnew_nonce_hash.write(to); } break; case mtpc_server_DH_params_ok: { const MTPDserver_DH_params_ok &v(c_server_DH_params_ok()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vencrypted_answer.write(to); } break; } } inline MTPserver_DH_Params::MTPserver_DH_Params(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_server_DH_params_fail: setData(new MTPDserver_DH_params_fail()); break; case mtpc_server_DH_params_ok: setData(new MTPDserver_DH_params_ok()); break; default: throw mtpErrorBadTypeId(type, "MTPserver_DH_Params"); } } inline MTPserver_DH_Params::MTPserver_DH_Params(MTPDserver_DH_params_fail *_data) : mtpDataOwner(_data), _type(mtpc_server_DH_params_fail) { } inline MTPserver_DH_Params::MTPserver_DH_Params(MTPDserver_DH_params_ok *_data) : mtpDataOwner(_data), _type(mtpc_server_DH_params_ok) { } inline MTPserver_DH_Params MTP_server_DH_params_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash) { return MTPserver_DH_Params(new MTPDserver_DH_params_fail(_nonce, _server_nonce, _new_nonce_hash)); } inline MTPserver_DH_Params MTP_server_DH_params_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPstring &_encrypted_answer) { return MTPserver_DH_Params(new MTPDserver_DH_params_ok(_nonce, _server_nonce, _encrypted_answer)); } inline MTPserver_DH_inner_data::MTPserver_DH_inner_data() : mtpDataOwner(new MTPDserver_DH_inner_data()) { } inline uint32 MTPserver_DH_inner_data::size() const { const MTPDserver_DH_inner_data &v(c_server_DH_inner_data()); return v.vnonce.size() + v.vserver_nonce.size() + v.vg.size() + v.vdh_prime.size() + v.vg_a.size() + v.vserver_time.size(); } inline mtpTypeId MTPserver_DH_inner_data::type() const { return mtpc_server_DH_inner_data; } inline void MTPserver_DH_inner_data::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_server_DH_inner_data) throw mtpErrorUnexpected(cons, "MTPserver_DH_inner_data"); if (!data) setData(new MTPDserver_DH_inner_data()); MTPDserver_DH_inner_data &v(_server_DH_inner_data()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vg.read(from, end); v.vdh_prime.read(from, end); v.vg_a.read(from, end); v.vserver_time.read(from, end); } inline void MTPserver_DH_inner_data::write(mtpBuffer &to) const { const MTPDserver_DH_inner_data &v(c_server_DH_inner_data()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vg.write(to); v.vdh_prime.write(to); v.vg_a.write(to); v.vserver_time.write(to); } inline MTPserver_DH_inner_data::MTPserver_DH_inner_data(MTPDserver_DH_inner_data *_data) : mtpDataOwner(_data) { } inline MTPserver_DH_inner_data MTP_server_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, MTPint _g, const MTPstring &_dh_prime, const MTPstring &_g_a, MTPint _server_time) { return MTPserver_DH_inner_data(new MTPDserver_DH_inner_data(_nonce, _server_nonce, _g, _dh_prime, _g_a, _server_time)); } inline MTPclient_DH_Inner_Data::MTPclient_DH_Inner_Data() : mtpDataOwner(new MTPDclient_DH_inner_data()) { } inline uint32 MTPclient_DH_Inner_Data::size() const { const MTPDclient_DH_inner_data &v(c_client_DH_inner_data()); return v.vnonce.size() + v.vserver_nonce.size() + v.vretry_id.size() + v.vg_b.size(); } inline mtpTypeId MTPclient_DH_Inner_Data::type() const { return mtpc_client_DH_inner_data; } inline void MTPclient_DH_Inner_Data::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_client_DH_inner_data) throw mtpErrorUnexpected(cons, "MTPclient_DH_Inner_Data"); if (!data) setData(new MTPDclient_DH_inner_data()); MTPDclient_DH_inner_data &v(_client_DH_inner_data()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vretry_id.read(from, end); v.vg_b.read(from, end); } inline void MTPclient_DH_Inner_Data::write(mtpBuffer &to) const { const MTPDclient_DH_inner_data &v(c_client_DH_inner_data()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vretry_id.write(to); v.vg_b.write(to); } inline MTPclient_DH_Inner_Data::MTPclient_DH_Inner_Data(MTPDclient_DH_inner_data *_data) : mtpDataOwner(_data) { } inline MTPclient_DH_Inner_Data MTP_client_DH_inner_data(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPlong &_retry_id, const MTPstring &_g_b) { return MTPclient_DH_Inner_Data(new MTPDclient_DH_inner_data(_nonce, _server_nonce, _retry_id, _g_b)); } inline uint32 MTPset_client_DH_params_answer::size() const { switch (_type) { case mtpc_dh_gen_ok: { const MTPDdh_gen_ok &v(c_dh_gen_ok()); return v.vnonce.size() + v.vserver_nonce.size() + v.vnew_nonce_hash1.size(); } case mtpc_dh_gen_retry: { const MTPDdh_gen_retry &v(c_dh_gen_retry()); return v.vnonce.size() + v.vserver_nonce.size() + v.vnew_nonce_hash2.size(); } case mtpc_dh_gen_fail: { const MTPDdh_gen_fail &v(c_dh_gen_fail()); return v.vnonce.size() + v.vserver_nonce.size() + v.vnew_nonce_hash3.size(); } } return 0; } inline mtpTypeId MTPset_client_DH_params_answer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPset_client_DH_params_answer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_dh_gen_ok: _type = cons; { if (!data) setData(new MTPDdh_gen_ok()); MTPDdh_gen_ok &v(_dh_gen_ok()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vnew_nonce_hash1.read(from, end); } break; case mtpc_dh_gen_retry: _type = cons; { if (!data) setData(new MTPDdh_gen_retry()); MTPDdh_gen_retry &v(_dh_gen_retry()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vnew_nonce_hash2.read(from, end); } break; case mtpc_dh_gen_fail: _type = cons; { if (!data) setData(new MTPDdh_gen_fail()); MTPDdh_gen_fail &v(_dh_gen_fail()); v.vnonce.read(from, end); v.vserver_nonce.read(from, end); v.vnew_nonce_hash3.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPset_client_DH_params_answer"); } } inline void MTPset_client_DH_params_answer::write(mtpBuffer &to) const { switch (_type) { case mtpc_dh_gen_ok: { const MTPDdh_gen_ok &v(c_dh_gen_ok()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vnew_nonce_hash1.write(to); } break; case mtpc_dh_gen_retry: { const MTPDdh_gen_retry &v(c_dh_gen_retry()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vnew_nonce_hash2.write(to); } break; case mtpc_dh_gen_fail: { const MTPDdh_gen_fail &v(c_dh_gen_fail()); v.vnonce.write(to); v.vserver_nonce.write(to); v.vnew_nonce_hash3.write(to); } break; } } inline MTPset_client_DH_params_answer::MTPset_client_DH_params_answer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_dh_gen_ok: setData(new MTPDdh_gen_ok()); break; case mtpc_dh_gen_retry: setData(new MTPDdh_gen_retry()); break; case mtpc_dh_gen_fail: setData(new MTPDdh_gen_fail()); break; default: throw mtpErrorBadTypeId(type, "MTPset_client_DH_params_answer"); } } inline MTPset_client_DH_params_answer::MTPset_client_DH_params_answer(MTPDdh_gen_ok *_data) : mtpDataOwner(_data), _type(mtpc_dh_gen_ok) { } inline MTPset_client_DH_params_answer::MTPset_client_DH_params_answer(MTPDdh_gen_retry *_data) : mtpDataOwner(_data), _type(mtpc_dh_gen_retry) { } inline MTPset_client_DH_params_answer::MTPset_client_DH_params_answer(MTPDdh_gen_fail *_data) : mtpDataOwner(_data), _type(mtpc_dh_gen_fail) { } inline MTPset_client_DH_params_answer MTP_dh_gen_ok(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash1) { return MTPset_client_DH_params_answer(new MTPDdh_gen_ok(_nonce, _server_nonce, _new_nonce_hash1)); } inline MTPset_client_DH_params_answer MTP_dh_gen_retry(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash2) { return MTPset_client_DH_params_answer(new MTPDdh_gen_retry(_nonce, _server_nonce, _new_nonce_hash2)); } inline MTPset_client_DH_params_answer MTP_dh_gen_fail(const MTPint128 &_nonce, const MTPint128 &_server_nonce, const MTPint128 &_new_nonce_hash3) { return MTPset_client_DH_params_answer(new MTPDdh_gen_fail(_nonce, _server_nonce, _new_nonce_hash3)); } inline MTPmsgsAck::MTPmsgsAck() : mtpDataOwner(new MTPDmsgs_ack()) { } inline uint32 MTPmsgsAck::size() const { const MTPDmsgs_ack &v(c_msgs_ack()); return v.vmsg_ids.size(); } inline mtpTypeId MTPmsgsAck::type() const { return mtpc_msgs_ack; } inline void MTPmsgsAck::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_msgs_ack) throw mtpErrorUnexpected(cons, "MTPmsgsAck"); if (!data) setData(new MTPDmsgs_ack()); MTPDmsgs_ack &v(_msgs_ack()); v.vmsg_ids.read(from, end); } inline void MTPmsgsAck::write(mtpBuffer &to) const { const MTPDmsgs_ack &v(c_msgs_ack()); v.vmsg_ids.write(to); } inline MTPmsgsAck::MTPmsgsAck(MTPDmsgs_ack *_data) : mtpDataOwner(_data) { } inline MTPmsgsAck MTP_msgs_ack(const MTPVector &_msg_ids) { return MTPmsgsAck(new MTPDmsgs_ack(_msg_ids)); } inline uint32 MTPbadMsgNotification::size() const { switch (_type) { case mtpc_bad_msg_notification: { const MTPDbad_msg_notification &v(c_bad_msg_notification()); return v.vbad_msg_id.size() + v.vbad_msg_seqno.size() + v.verror_code.size(); } case mtpc_bad_server_salt: { const MTPDbad_server_salt &v(c_bad_server_salt()); return v.vbad_msg_id.size() + v.vbad_msg_seqno.size() + v.verror_code.size() + v.vnew_server_salt.size(); } } return 0; } inline mtpTypeId MTPbadMsgNotification::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPbadMsgNotification::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_bad_msg_notification: _type = cons; { if (!data) setData(new MTPDbad_msg_notification()); MTPDbad_msg_notification &v(_bad_msg_notification()); v.vbad_msg_id.read(from, end); v.vbad_msg_seqno.read(from, end); v.verror_code.read(from, end); } break; case mtpc_bad_server_salt: _type = cons; { if (!data) setData(new MTPDbad_server_salt()); MTPDbad_server_salt &v(_bad_server_salt()); v.vbad_msg_id.read(from, end); v.vbad_msg_seqno.read(from, end); v.verror_code.read(from, end); v.vnew_server_salt.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPbadMsgNotification"); } } inline void MTPbadMsgNotification::write(mtpBuffer &to) const { switch (_type) { case mtpc_bad_msg_notification: { const MTPDbad_msg_notification &v(c_bad_msg_notification()); v.vbad_msg_id.write(to); v.vbad_msg_seqno.write(to); v.verror_code.write(to); } break; case mtpc_bad_server_salt: { const MTPDbad_server_salt &v(c_bad_server_salt()); v.vbad_msg_id.write(to); v.vbad_msg_seqno.write(to); v.verror_code.write(to); v.vnew_server_salt.write(to); } break; } } inline MTPbadMsgNotification::MTPbadMsgNotification(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_bad_msg_notification: setData(new MTPDbad_msg_notification()); break; case mtpc_bad_server_salt: setData(new MTPDbad_server_salt()); break; default: throw mtpErrorBadTypeId(type, "MTPbadMsgNotification"); } } inline MTPbadMsgNotification::MTPbadMsgNotification(MTPDbad_msg_notification *_data) : mtpDataOwner(_data), _type(mtpc_bad_msg_notification) { } inline MTPbadMsgNotification::MTPbadMsgNotification(MTPDbad_server_salt *_data) : mtpDataOwner(_data), _type(mtpc_bad_server_salt) { } inline MTPbadMsgNotification MTP_bad_msg_notification(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code) { return MTPbadMsgNotification(new MTPDbad_msg_notification(_bad_msg_id, _bad_msg_seqno, _error_code)); } inline MTPbadMsgNotification MTP_bad_server_salt(const MTPlong &_bad_msg_id, MTPint _bad_msg_seqno, MTPint _error_code, const MTPlong &_new_server_salt) { return MTPbadMsgNotification(new MTPDbad_server_salt(_bad_msg_id, _bad_msg_seqno, _error_code, _new_server_salt)); } inline MTPmsgsStateReq::MTPmsgsStateReq() : mtpDataOwner(new MTPDmsgs_state_req()) { } inline uint32 MTPmsgsStateReq::size() const { const MTPDmsgs_state_req &v(c_msgs_state_req()); return v.vmsg_ids.size(); } inline mtpTypeId MTPmsgsStateReq::type() const { return mtpc_msgs_state_req; } inline void MTPmsgsStateReq::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_msgs_state_req) throw mtpErrorUnexpected(cons, "MTPmsgsStateReq"); if (!data) setData(new MTPDmsgs_state_req()); MTPDmsgs_state_req &v(_msgs_state_req()); v.vmsg_ids.read(from, end); } inline void MTPmsgsStateReq::write(mtpBuffer &to) const { const MTPDmsgs_state_req &v(c_msgs_state_req()); v.vmsg_ids.write(to); } inline MTPmsgsStateReq::MTPmsgsStateReq(MTPDmsgs_state_req *_data) : mtpDataOwner(_data) { } inline MTPmsgsStateReq MTP_msgs_state_req(const MTPVector &_msg_ids) { return MTPmsgsStateReq(new MTPDmsgs_state_req(_msg_ids)); } inline MTPmsgsStateInfo::MTPmsgsStateInfo() : mtpDataOwner(new MTPDmsgs_state_info()) { } inline uint32 MTPmsgsStateInfo::size() const { const MTPDmsgs_state_info &v(c_msgs_state_info()); return v.vreq_msg_id.size() + v.vinfo.size(); } inline mtpTypeId MTPmsgsStateInfo::type() const { return mtpc_msgs_state_info; } inline void MTPmsgsStateInfo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_msgs_state_info) throw mtpErrorUnexpected(cons, "MTPmsgsStateInfo"); if (!data) setData(new MTPDmsgs_state_info()); MTPDmsgs_state_info &v(_msgs_state_info()); v.vreq_msg_id.read(from, end); v.vinfo.read(from, end); } inline void MTPmsgsStateInfo::write(mtpBuffer &to) const { const MTPDmsgs_state_info &v(c_msgs_state_info()); v.vreq_msg_id.write(to); v.vinfo.write(to); } inline MTPmsgsStateInfo::MTPmsgsStateInfo(MTPDmsgs_state_info *_data) : mtpDataOwner(_data) { } inline MTPmsgsStateInfo MTP_msgs_state_info(const MTPlong &_req_msg_id, const MTPstring &_info) { return MTPmsgsStateInfo(new MTPDmsgs_state_info(_req_msg_id, _info)); } inline MTPmsgsAllInfo::MTPmsgsAllInfo() : mtpDataOwner(new MTPDmsgs_all_info()) { } inline uint32 MTPmsgsAllInfo::size() const { const MTPDmsgs_all_info &v(c_msgs_all_info()); return v.vmsg_ids.size() + v.vinfo.size(); } inline mtpTypeId MTPmsgsAllInfo::type() const { return mtpc_msgs_all_info; } inline void MTPmsgsAllInfo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_msgs_all_info) throw mtpErrorUnexpected(cons, "MTPmsgsAllInfo"); if (!data) setData(new MTPDmsgs_all_info()); MTPDmsgs_all_info &v(_msgs_all_info()); v.vmsg_ids.read(from, end); v.vinfo.read(from, end); } inline void MTPmsgsAllInfo::write(mtpBuffer &to) const { const MTPDmsgs_all_info &v(c_msgs_all_info()); v.vmsg_ids.write(to); v.vinfo.write(to); } inline MTPmsgsAllInfo::MTPmsgsAllInfo(MTPDmsgs_all_info *_data) : mtpDataOwner(_data) { } inline MTPmsgsAllInfo MTP_msgs_all_info(const MTPVector &_msg_ids, const MTPstring &_info) { return MTPmsgsAllInfo(new MTPDmsgs_all_info(_msg_ids, _info)); } inline uint32 MTPmsgDetailedInfo::size() const { switch (_type) { case mtpc_msg_detailed_info: { const MTPDmsg_detailed_info &v(c_msg_detailed_info()); return v.vmsg_id.size() + v.vanswer_msg_id.size() + v.vbytes.size() + v.vstatus.size(); } case mtpc_msg_new_detailed_info: { const MTPDmsg_new_detailed_info &v(c_msg_new_detailed_info()); return v.vanswer_msg_id.size() + v.vbytes.size() + v.vstatus.size(); } } return 0; } inline mtpTypeId MTPmsgDetailedInfo::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmsgDetailedInfo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_msg_detailed_info: _type = cons; { if (!data) setData(new MTPDmsg_detailed_info()); MTPDmsg_detailed_info &v(_msg_detailed_info()); v.vmsg_id.read(from, end); v.vanswer_msg_id.read(from, end); v.vbytes.read(from, end); v.vstatus.read(from, end); } break; case mtpc_msg_new_detailed_info: _type = cons; { if (!data) setData(new MTPDmsg_new_detailed_info()); MTPDmsg_new_detailed_info &v(_msg_new_detailed_info()); v.vanswer_msg_id.read(from, end); v.vbytes.read(from, end); v.vstatus.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmsgDetailedInfo"); } } inline void MTPmsgDetailedInfo::write(mtpBuffer &to) const { switch (_type) { case mtpc_msg_detailed_info: { const MTPDmsg_detailed_info &v(c_msg_detailed_info()); v.vmsg_id.write(to); v.vanswer_msg_id.write(to); v.vbytes.write(to); v.vstatus.write(to); } break; case mtpc_msg_new_detailed_info: { const MTPDmsg_new_detailed_info &v(c_msg_new_detailed_info()); v.vanswer_msg_id.write(to); v.vbytes.write(to); v.vstatus.write(to); } break; } } inline MTPmsgDetailedInfo::MTPmsgDetailedInfo(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_msg_detailed_info: setData(new MTPDmsg_detailed_info()); break; case mtpc_msg_new_detailed_info: setData(new MTPDmsg_new_detailed_info()); break; default: throw mtpErrorBadTypeId(type, "MTPmsgDetailedInfo"); } } inline MTPmsgDetailedInfo::MTPmsgDetailedInfo(MTPDmsg_detailed_info *_data) : mtpDataOwner(_data), _type(mtpc_msg_detailed_info) { } inline MTPmsgDetailedInfo::MTPmsgDetailedInfo(MTPDmsg_new_detailed_info *_data) : mtpDataOwner(_data), _type(mtpc_msg_new_detailed_info) { } inline MTPmsgDetailedInfo MTP_msg_detailed_info(const MTPlong &_msg_id, const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status) { return MTPmsgDetailedInfo(new MTPDmsg_detailed_info(_msg_id, _answer_msg_id, _bytes, _status)); } inline MTPmsgDetailedInfo MTP_msg_new_detailed_info(const MTPlong &_answer_msg_id, MTPint _bytes, MTPint _status) { return MTPmsgDetailedInfo(new MTPDmsg_new_detailed_info(_answer_msg_id, _bytes, _status)); } inline MTPmsgResendReq::MTPmsgResendReq() : mtpDataOwner(new MTPDmsg_resend_req()) { } inline uint32 MTPmsgResendReq::size() const { const MTPDmsg_resend_req &v(c_msg_resend_req()); return v.vmsg_ids.size(); } inline mtpTypeId MTPmsgResendReq::type() const { return mtpc_msg_resend_req; } inline void MTPmsgResendReq::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_msg_resend_req) throw mtpErrorUnexpected(cons, "MTPmsgResendReq"); if (!data) setData(new MTPDmsg_resend_req()); MTPDmsg_resend_req &v(_msg_resend_req()); v.vmsg_ids.read(from, end); } inline void MTPmsgResendReq::write(mtpBuffer &to) const { const MTPDmsg_resend_req &v(c_msg_resend_req()); v.vmsg_ids.write(to); } inline MTPmsgResendReq::MTPmsgResendReq(MTPDmsg_resend_req *_data) : mtpDataOwner(_data) { } inline MTPmsgResendReq MTP_msg_resend_req(const MTPVector &_msg_ids) { return MTPmsgResendReq(new MTPDmsg_resend_req(_msg_ids)); } inline MTPrpcError::MTPrpcError() : mtpDataOwner(new MTPDrpc_error()) { } inline uint32 MTPrpcError::size() const { const MTPDrpc_error &v(c_rpc_error()); return v.verror_code.size() + v.verror_message.size(); } inline mtpTypeId MTPrpcError::type() const { return mtpc_rpc_error; } inline void MTPrpcError::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_rpc_error) throw mtpErrorUnexpected(cons, "MTPrpcError"); if (!data) setData(new MTPDrpc_error()); MTPDrpc_error &v(_rpc_error()); v.verror_code.read(from, end); v.verror_message.read(from, end); } inline void MTPrpcError::write(mtpBuffer &to) const { const MTPDrpc_error &v(c_rpc_error()); v.verror_code.write(to); v.verror_message.write(to); } inline MTPrpcError::MTPrpcError(MTPDrpc_error *_data) : mtpDataOwner(_data) { } inline MTPrpcError MTP_rpc_error(MTPint _error_code, const MTPstring &_error_message) { return MTPrpcError(new MTPDrpc_error(_error_code, _error_message)); } inline uint32 MTPrpcDropAnswer::size() const { switch (_type) { case mtpc_rpc_answer_dropped: { const MTPDrpc_answer_dropped &v(c_rpc_answer_dropped()); return v.vmsg_id.size() + v.vseq_no.size() + v.vbytes.size(); } } return 0; } inline mtpTypeId MTPrpcDropAnswer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPrpcDropAnswer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_rpc_answer_unknown: _type = cons; break; case mtpc_rpc_answer_dropped_running: _type = cons; break; case mtpc_rpc_answer_dropped: _type = cons; { if (!data) setData(new MTPDrpc_answer_dropped()); MTPDrpc_answer_dropped &v(_rpc_answer_dropped()); v.vmsg_id.read(from, end); v.vseq_no.read(from, end); v.vbytes.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPrpcDropAnswer"); } } inline void MTPrpcDropAnswer::write(mtpBuffer &to) const { switch (_type) { case mtpc_rpc_answer_dropped: { const MTPDrpc_answer_dropped &v(c_rpc_answer_dropped()); v.vmsg_id.write(to); v.vseq_no.write(to); v.vbytes.write(to); } break; } } inline MTPrpcDropAnswer::MTPrpcDropAnswer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_rpc_answer_unknown: break; case mtpc_rpc_answer_dropped_running: break; case mtpc_rpc_answer_dropped: setData(new MTPDrpc_answer_dropped()); break; default: throw mtpErrorBadTypeId(type, "MTPrpcDropAnswer"); } } inline MTPrpcDropAnswer::MTPrpcDropAnswer(MTPDrpc_answer_dropped *_data) : mtpDataOwner(_data), _type(mtpc_rpc_answer_dropped) { } inline MTPrpcDropAnswer MTP_rpc_answer_unknown() { return MTPrpcDropAnswer(mtpc_rpc_answer_unknown); } inline MTPrpcDropAnswer MTP_rpc_answer_dropped_running() { return MTPrpcDropAnswer(mtpc_rpc_answer_dropped_running); } inline MTPrpcDropAnswer MTP_rpc_answer_dropped(const MTPlong &_msg_id, MTPint _seq_no, MTPint _bytes) { return MTPrpcDropAnswer(new MTPDrpc_answer_dropped(_msg_id, _seq_no, _bytes)); } inline MTPfutureSalt::MTPfutureSalt() : mtpDataOwner(new MTPDfuture_salt()) { } inline uint32 MTPfutureSalt::size() const { const MTPDfuture_salt &v(c_future_salt()); return v.vvalid_since.size() + v.vvalid_until.size() + v.vsalt.size(); } inline mtpTypeId MTPfutureSalt::type() const { return mtpc_future_salt; } inline void MTPfutureSalt::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_future_salt) throw mtpErrorUnexpected(cons, "MTPfutureSalt"); if (!data) setData(new MTPDfuture_salt()); MTPDfuture_salt &v(_future_salt()); v.vvalid_since.read(from, end); v.vvalid_until.read(from, end); v.vsalt.read(from, end); } inline void MTPfutureSalt::write(mtpBuffer &to) const { const MTPDfuture_salt &v(c_future_salt()); v.vvalid_since.write(to); v.vvalid_until.write(to); v.vsalt.write(to); } inline MTPfutureSalt::MTPfutureSalt(MTPDfuture_salt *_data) : mtpDataOwner(_data) { } inline MTPfutureSalt MTP_future_salt(MTPint _valid_since, MTPint _valid_until, const MTPlong &_salt) { return MTPfutureSalt(new MTPDfuture_salt(_valid_since, _valid_until, _salt)); } inline MTPfutureSalts::MTPfutureSalts() : mtpDataOwner(new MTPDfuture_salts()) { } inline uint32 MTPfutureSalts::size() const { const MTPDfuture_salts &v(c_future_salts()); return v.vreq_msg_id.size() + v.vnow.size() + v.vsalts.size(); } inline mtpTypeId MTPfutureSalts::type() const { return mtpc_future_salts; } inline void MTPfutureSalts::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_future_salts) throw mtpErrorUnexpected(cons, "MTPfutureSalts"); if (!data) setData(new MTPDfuture_salts()); MTPDfuture_salts &v(_future_salts()); v.vreq_msg_id.read(from, end); v.vnow.read(from, end); v.vsalts.read(from, end); } inline void MTPfutureSalts::write(mtpBuffer &to) const { const MTPDfuture_salts &v(c_future_salts()); v.vreq_msg_id.write(to); v.vnow.write(to); v.vsalts.write(to); } inline MTPfutureSalts::MTPfutureSalts(MTPDfuture_salts *_data) : mtpDataOwner(_data) { } inline MTPfutureSalts MTP_future_salts(const MTPlong &_req_msg_id, MTPint _now, const MTPvector &_salts) { return MTPfutureSalts(new MTPDfuture_salts(_req_msg_id, _now, _salts)); } inline MTPpong::MTPpong() : mtpDataOwner(new MTPDpong()) { } inline uint32 MTPpong::size() const { const MTPDpong &v(c_pong()); return v.vmsg_id.size() + v.vping_id.size(); } inline mtpTypeId MTPpong::type() const { return mtpc_pong; } inline void MTPpong::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_pong) throw mtpErrorUnexpected(cons, "MTPpong"); if (!data) setData(new MTPDpong()); MTPDpong &v(_pong()); v.vmsg_id.read(from, end); v.vping_id.read(from, end); } inline void MTPpong::write(mtpBuffer &to) const { const MTPDpong &v(c_pong()); v.vmsg_id.write(to); v.vping_id.write(to); } inline MTPpong::MTPpong(MTPDpong *_data) : mtpDataOwner(_data) { } inline MTPpong MTP_pong(const MTPlong &_msg_id, const MTPlong &_ping_id) { return MTPpong(new MTPDpong(_msg_id, _ping_id)); } inline uint32 MTPdestroySessionRes::size() const { switch (_type) { case mtpc_destroy_session_ok: { const MTPDdestroy_session_ok &v(c_destroy_session_ok()); return v.vsession_id.size(); } case mtpc_destroy_session_none: { const MTPDdestroy_session_none &v(c_destroy_session_none()); return v.vsession_id.size(); } } return 0; } inline mtpTypeId MTPdestroySessionRes::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPdestroySessionRes::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_destroy_session_ok: _type = cons; { if (!data) setData(new MTPDdestroy_session_ok()); MTPDdestroy_session_ok &v(_destroy_session_ok()); v.vsession_id.read(from, end); } break; case mtpc_destroy_session_none: _type = cons; { if (!data) setData(new MTPDdestroy_session_none()); MTPDdestroy_session_none &v(_destroy_session_none()); v.vsession_id.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPdestroySessionRes"); } } inline void MTPdestroySessionRes::write(mtpBuffer &to) const { switch (_type) { case mtpc_destroy_session_ok: { const MTPDdestroy_session_ok &v(c_destroy_session_ok()); v.vsession_id.write(to); } break; case mtpc_destroy_session_none: { const MTPDdestroy_session_none &v(c_destroy_session_none()); v.vsession_id.write(to); } break; } } inline MTPdestroySessionRes::MTPdestroySessionRes(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_destroy_session_ok: setData(new MTPDdestroy_session_ok()); break; case mtpc_destroy_session_none: setData(new MTPDdestroy_session_none()); break; default: throw mtpErrorBadTypeId(type, "MTPdestroySessionRes"); } } inline MTPdestroySessionRes::MTPdestroySessionRes(MTPDdestroy_session_ok *_data) : mtpDataOwner(_data), _type(mtpc_destroy_session_ok) { } inline MTPdestroySessionRes::MTPdestroySessionRes(MTPDdestroy_session_none *_data) : mtpDataOwner(_data), _type(mtpc_destroy_session_none) { } inline MTPdestroySessionRes MTP_destroy_session_ok(const MTPlong &_session_id) { return MTPdestroySessionRes(new MTPDdestroy_session_ok(_session_id)); } inline MTPdestroySessionRes MTP_destroy_session_none(const MTPlong &_session_id) { return MTPdestroySessionRes(new MTPDdestroy_session_none(_session_id)); } inline MTPnewSession::MTPnewSession() : mtpDataOwner(new MTPDnew_session_created()) { } inline uint32 MTPnewSession::size() const { const MTPDnew_session_created &v(c_new_session_created()); return v.vfirst_msg_id.size() + v.vunique_id.size() + v.vserver_salt.size(); } inline mtpTypeId MTPnewSession::type() const { return mtpc_new_session_created; } inline void MTPnewSession::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_new_session_created) throw mtpErrorUnexpected(cons, "MTPnewSession"); if (!data) setData(new MTPDnew_session_created()); MTPDnew_session_created &v(_new_session_created()); v.vfirst_msg_id.read(from, end); v.vunique_id.read(from, end); v.vserver_salt.read(from, end); } inline void MTPnewSession::write(mtpBuffer &to) const { const MTPDnew_session_created &v(c_new_session_created()); v.vfirst_msg_id.write(to); v.vunique_id.write(to); v.vserver_salt.write(to); } inline MTPnewSession::MTPnewSession(MTPDnew_session_created *_data) : mtpDataOwner(_data) { } inline MTPnewSession MTP_new_session_created(const MTPlong &_first_msg_id, const MTPlong &_unique_id, const MTPlong &_server_salt) { return MTPnewSession(new MTPDnew_session_created(_first_msg_id, _unique_id, _server_salt)); } inline MTPhttpWait::MTPhttpWait() : mtpDataOwner(new MTPDhttp_wait()) { } inline uint32 MTPhttpWait::size() const { const MTPDhttp_wait &v(c_http_wait()); return v.vmax_delay.size() + v.vwait_after.size() + v.vmax_wait.size(); } inline mtpTypeId MTPhttpWait::type() const { return mtpc_http_wait; } inline void MTPhttpWait::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_http_wait) throw mtpErrorUnexpected(cons, "MTPhttpWait"); if (!data) setData(new MTPDhttp_wait()); MTPDhttp_wait &v(_http_wait()); v.vmax_delay.read(from, end); v.vwait_after.read(from, end); v.vmax_wait.read(from, end); } inline void MTPhttpWait::write(mtpBuffer &to) const { const MTPDhttp_wait &v(c_http_wait()); v.vmax_delay.write(to); v.vwait_after.write(to); v.vmax_wait.write(to); } inline MTPhttpWait::MTPhttpWait(MTPDhttp_wait *_data) : mtpDataOwner(_data) { } inline MTPhttpWait MTP_http_wait(MTPint _max_delay, MTPint _wait_after, MTPint _max_wait) { return MTPhttpWait(new MTPDhttp_wait(_max_delay, _wait_after, _max_wait)); } inline uint32 MTPinputPeer::size() const { switch (_type) { case mtpc_inputPeerContact: { const MTPDinputPeerContact &v(c_inputPeerContact()); return v.vuser_id.size(); } case mtpc_inputPeerForeign: { const MTPDinputPeerForeign &v(c_inputPeerForeign()); return v.vuser_id.size() + v.vaccess_hash.size(); } case mtpc_inputPeerChat: { const MTPDinputPeerChat &v(c_inputPeerChat()); return v.vchat_id.size(); } } return 0; } inline mtpTypeId MTPinputPeer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputPeer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputPeerEmpty: _type = cons; break; case mtpc_inputPeerSelf: _type = cons; break; case mtpc_inputPeerContact: _type = cons; { if (!data) setData(new MTPDinputPeerContact()); MTPDinputPeerContact &v(_inputPeerContact()); v.vuser_id.read(from, end); } break; case mtpc_inputPeerForeign: _type = cons; { if (!data) setData(new MTPDinputPeerForeign()); MTPDinputPeerForeign &v(_inputPeerForeign()); v.vuser_id.read(from, end); v.vaccess_hash.read(from, end); } break; case mtpc_inputPeerChat: _type = cons; { if (!data) setData(new MTPDinputPeerChat()); MTPDinputPeerChat &v(_inputPeerChat()); v.vchat_id.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputPeer"); } } inline void MTPinputPeer::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputPeerContact: { const MTPDinputPeerContact &v(c_inputPeerContact()); v.vuser_id.write(to); } break; case mtpc_inputPeerForeign: { const MTPDinputPeerForeign &v(c_inputPeerForeign()); v.vuser_id.write(to); v.vaccess_hash.write(to); } break; case mtpc_inputPeerChat: { const MTPDinputPeerChat &v(c_inputPeerChat()); v.vchat_id.write(to); } break; } } inline MTPinputPeer::MTPinputPeer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputPeerEmpty: break; case mtpc_inputPeerSelf: break; case mtpc_inputPeerContact: setData(new MTPDinputPeerContact()); break; case mtpc_inputPeerForeign: setData(new MTPDinputPeerForeign()); break; case mtpc_inputPeerChat: setData(new MTPDinputPeerChat()); break; default: throw mtpErrorBadTypeId(type, "MTPinputPeer"); } } inline MTPinputPeer::MTPinputPeer(MTPDinputPeerContact *_data) : mtpDataOwner(_data), _type(mtpc_inputPeerContact) { } inline MTPinputPeer::MTPinputPeer(MTPDinputPeerForeign *_data) : mtpDataOwner(_data), _type(mtpc_inputPeerForeign) { } inline MTPinputPeer::MTPinputPeer(MTPDinputPeerChat *_data) : mtpDataOwner(_data), _type(mtpc_inputPeerChat) { } inline MTPinputPeer MTP_inputPeerEmpty() { return MTPinputPeer(mtpc_inputPeerEmpty); } inline MTPinputPeer MTP_inputPeerSelf() { return MTPinputPeer(mtpc_inputPeerSelf); } inline MTPinputPeer MTP_inputPeerContact(MTPint _user_id) { return MTPinputPeer(new MTPDinputPeerContact(_user_id)); } inline MTPinputPeer MTP_inputPeerForeign(MTPint _user_id, const MTPlong &_access_hash) { return MTPinputPeer(new MTPDinputPeerForeign(_user_id, _access_hash)); } inline MTPinputPeer MTP_inputPeerChat(MTPint _chat_id) { return MTPinputPeer(new MTPDinputPeerChat(_chat_id)); } inline uint32 MTPinputUser::size() const { switch (_type) { case mtpc_inputUserContact: { const MTPDinputUserContact &v(c_inputUserContact()); return v.vuser_id.size(); } case mtpc_inputUserForeign: { const MTPDinputUserForeign &v(c_inputUserForeign()); return v.vuser_id.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputUser::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputUser::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputUserEmpty: _type = cons; break; case mtpc_inputUserSelf: _type = cons; break; case mtpc_inputUserContact: _type = cons; { if (!data) setData(new MTPDinputUserContact()); MTPDinputUserContact &v(_inputUserContact()); v.vuser_id.read(from, end); } break; case mtpc_inputUserForeign: _type = cons; { if (!data) setData(new MTPDinputUserForeign()); MTPDinputUserForeign &v(_inputUserForeign()); v.vuser_id.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputUser"); } } inline void MTPinputUser::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputUserContact: { const MTPDinputUserContact &v(c_inputUserContact()); v.vuser_id.write(to); } break; case mtpc_inputUserForeign: { const MTPDinputUserForeign &v(c_inputUserForeign()); v.vuser_id.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputUser::MTPinputUser(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputUserEmpty: break; case mtpc_inputUserSelf: break; case mtpc_inputUserContact: setData(new MTPDinputUserContact()); break; case mtpc_inputUserForeign: setData(new MTPDinputUserForeign()); break; default: throw mtpErrorBadTypeId(type, "MTPinputUser"); } } inline MTPinputUser::MTPinputUser(MTPDinputUserContact *_data) : mtpDataOwner(_data), _type(mtpc_inputUserContact) { } inline MTPinputUser::MTPinputUser(MTPDinputUserForeign *_data) : mtpDataOwner(_data), _type(mtpc_inputUserForeign) { } inline MTPinputUser MTP_inputUserEmpty() { return MTPinputUser(mtpc_inputUserEmpty); } inline MTPinputUser MTP_inputUserSelf() { return MTPinputUser(mtpc_inputUserSelf); } inline MTPinputUser MTP_inputUserContact(MTPint _user_id) { return MTPinputUser(new MTPDinputUserContact(_user_id)); } inline MTPinputUser MTP_inputUserForeign(MTPint _user_id, const MTPlong &_access_hash) { return MTPinputUser(new MTPDinputUserForeign(_user_id, _access_hash)); } inline MTPinputContact::MTPinputContact() : mtpDataOwner(new MTPDinputPhoneContact()) { } inline uint32 MTPinputContact::size() const { const MTPDinputPhoneContact &v(c_inputPhoneContact()); return v.vclient_id.size() + v.vphone.size() + v.vfirst_name.size() + v.vlast_name.size(); } inline mtpTypeId MTPinputContact::type() const { return mtpc_inputPhoneContact; } inline void MTPinputContact::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_inputPhoneContact) throw mtpErrorUnexpected(cons, "MTPinputContact"); if (!data) setData(new MTPDinputPhoneContact()); MTPDinputPhoneContact &v(_inputPhoneContact()); v.vclient_id.read(from, end); v.vphone.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); } inline void MTPinputContact::write(mtpBuffer &to) const { const MTPDinputPhoneContact &v(c_inputPhoneContact()); v.vclient_id.write(to); v.vphone.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); } inline MTPinputContact::MTPinputContact(MTPDinputPhoneContact *_data) : mtpDataOwner(_data) { } inline MTPinputContact MTP_inputPhoneContact(const MTPlong &_client_id, const MTPstring &_phone, const MTPstring &_first_name, const MTPstring &_last_name) { return MTPinputContact(new MTPDinputPhoneContact(_client_id, _phone, _first_name, _last_name)); } inline uint32 MTPinputFile::size() const { switch (_type) { case mtpc_inputFile: { const MTPDinputFile &v(c_inputFile()); return v.vid.size() + v.vparts.size() + v.vname.size() + v.vmd5_checksum.size(); } case mtpc_inputFileBig: { const MTPDinputFileBig &v(c_inputFileBig()); return v.vid.size() + v.vparts.size() + v.vname.size(); } } return 0; } inline mtpTypeId MTPinputFile::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputFile::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputFile: _type = cons; { if (!data) setData(new MTPDinputFile()); MTPDinputFile &v(_inputFile()); v.vid.read(from, end); v.vparts.read(from, end); v.vname.read(from, end); v.vmd5_checksum.read(from, end); } break; case mtpc_inputFileBig: _type = cons; { if (!data) setData(new MTPDinputFileBig()); MTPDinputFileBig &v(_inputFileBig()); v.vid.read(from, end); v.vparts.read(from, end); v.vname.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputFile"); } } inline void MTPinputFile::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputFile: { const MTPDinputFile &v(c_inputFile()); v.vid.write(to); v.vparts.write(to); v.vname.write(to); v.vmd5_checksum.write(to); } break; case mtpc_inputFileBig: { const MTPDinputFileBig &v(c_inputFileBig()); v.vid.write(to); v.vparts.write(to); v.vname.write(to); } break; } } inline MTPinputFile::MTPinputFile(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputFile: setData(new MTPDinputFile()); break; case mtpc_inputFileBig: setData(new MTPDinputFileBig()); break; default: throw mtpErrorBadTypeId(type, "MTPinputFile"); } } inline MTPinputFile::MTPinputFile(MTPDinputFile *_data) : mtpDataOwner(_data), _type(mtpc_inputFile) { } inline MTPinputFile::MTPinputFile(MTPDinputFileBig *_data) : mtpDataOwner(_data), _type(mtpc_inputFileBig) { } inline MTPinputFile MTP_inputFile(const MTPlong &_id, MTPint _parts, const MTPstring &_name, const MTPstring &_md5_checksum) { return MTPinputFile(new MTPDinputFile(_id, _parts, _name, _md5_checksum)); } inline MTPinputFile MTP_inputFileBig(const MTPlong &_id, MTPint _parts, const MTPstring &_name) { return MTPinputFile(new MTPDinputFileBig(_id, _parts, _name)); } inline uint32 MTPinputMedia::size() const { switch (_type) { case mtpc_inputMediaUploadedPhoto: { const MTPDinputMediaUploadedPhoto &v(c_inputMediaUploadedPhoto()); return v.vfile.size(); } case mtpc_inputMediaPhoto: { const MTPDinputMediaPhoto &v(c_inputMediaPhoto()); return v.vid.size(); } case mtpc_inputMediaGeoPoint: { const MTPDinputMediaGeoPoint &v(c_inputMediaGeoPoint()); return v.vgeo_point.size(); } case mtpc_inputMediaContact: { const MTPDinputMediaContact &v(c_inputMediaContact()); return v.vphone_number.size() + v.vfirst_name.size() + v.vlast_name.size(); } case mtpc_inputMediaUploadedVideo: { const MTPDinputMediaUploadedVideo &v(c_inputMediaUploadedVideo()); return v.vfile.size() + v.vduration.size() + v.vw.size() + v.vh.size() + v.vmime_type.size(); } case mtpc_inputMediaUploadedThumbVideo: { const MTPDinputMediaUploadedThumbVideo &v(c_inputMediaUploadedThumbVideo()); return v.vfile.size() + v.vthumb.size() + v.vduration.size() + v.vw.size() + v.vh.size() + v.vmime_type.size(); } case mtpc_inputMediaVideo: { const MTPDinputMediaVideo &v(c_inputMediaVideo()); return v.vid.size(); } case mtpc_inputMediaUploadedAudio: { const MTPDinputMediaUploadedAudio &v(c_inputMediaUploadedAudio()); return v.vfile.size() + v.vduration.size() + v.vmime_type.size(); } case mtpc_inputMediaAudio: { const MTPDinputMediaAudio &v(c_inputMediaAudio()); return v.vid.size(); } case mtpc_inputMediaUploadedDocument: { const MTPDinputMediaUploadedDocument &v(c_inputMediaUploadedDocument()); return v.vfile.size() + v.vfile_name.size() + v.vmime_type.size(); } case mtpc_inputMediaUploadedThumbDocument: { const MTPDinputMediaUploadedThumbDocument &v(c_inputMediaUploadedThumbDocument()); return v.vfile.size() + v.vthumb.size() + v.vfile_name.size() + v.vmime_type.size(); } case mtpc_inputMediaDocument: { const MTPDinputMediaDocument &v(c_inputMediaDocument()); return v.vid.size(); } } return 0; } inline mtpTypeId MTPinputMedia::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputMedia::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputMediaEmpty: _type = cons; break; case mtpc_inputMediaUploadedPhoto: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedPhoto()); MTPDinputMediaUploadedPhoto &v(_inputMediaUploadedPhoto()); v.vfile.read(from, end); } break; case mtpc_inputMediaPhoto: _type = cons; { if (!data) setData(new MTPDinputMediaPhoto()); MTPDinputMediaPhoto &v(_inputMediaPhoto()); v.vid.read(from, end); } break; case mtpc_inputMediaGeoPoint: _type = cons; { if (!data) setData(new MTPDinputMediaGeoPoint()); MTPDinputMediaGeoPoint &v(_inputMediaGeoPoint()); v.vgeo_point.read(from, end); } break; case mtpc_inputMediaContact: _type = cons; { if (!data) setData(new MTPDinputMediaContact()); MTPDinputMediaContact &v(_inputMediaContact()); v.vphone_number.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); } break; case mtpc_inputMediaUploadedVideo: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedVideo()); MTPDinputMediaUploadedVideo &v(_inputMediaUploadedVideo()); v.vfile.read(from, end); v.vduration.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vmime_type.read(from, end); } break; case mtpc_inputMediaUploadedThumbVideo: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedThumbVideo()); MTPDinputMediaUploadedThumbVideo &v(_inputMediaUploadedThumbVideo()); v.vfile.read(from, end); v.vthumb.read(from, end); v.vduration.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vmime_type.read(from, end); } break; case mtpc_inputMediaVideo: _type = cons; { if (!data) setData(new MTPDinputMediaVideo()); MTPDinputMediaVideo &v(_inputMediaVideo()); v.vid.read(from, end); } break; case mtpc_inputMediaUploadedAudio: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedAudio()); MTPDinputMediaUploadedAudio &v(_inputMediaUploadedAudio()); v.vfile.read(from, end); v.vduration.read(from, end); v.vmime_type.read(from, end); } break; case mtpc_inputMediaAudio: _type = cons; { if (!data) setData(new MTPDinputMediaAudio()); MTPDinputMediaAudio &v(_inputMediaAudio()); v.vid.read(from, end); } break; case mtpc_inputMediaUploadedDocument: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedDocument()); MTPDinputMediaUploadedDocument &v(_inputMediaUploadedDocument()); v.vfile.read(from, end); v.vfile_name.read(from, end); v.vmime_type.read(from, end); } break; case mtpc_inputMediaUploadedThumbDocument: _type = cons; { if (!data) setData(new MTPDinputMediaUploadedThumbDocument()); MTPDinputMediaUploadedThumbDocument &v(_inputMediaUploadedThumbDocument()); v.vfile.read(from, end); v.vthumb.read(from, end); v.vfile_name.read(from, end); v.vmime_type.read(from, end); } break; case mtpc_inputMediaDocument: _type = cons; { if (!data) setData(new MTPDinputMediaDocument()); MTPDinputMediaDocument &v(_inputMediaDocument()); v.vid.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputMedia"); } } inline void MTPinputMedia::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputMediaUploadedPhoto: { const MTPDinputMediaUploadedPhoto &v(c_inputMediaUploadedPhoto()); v.vfile.write(to); } break; case mtpc_inputMediaPhoto: { const MTPDinputMediaPhoto &v(c_inputMediaPhoto()); v.vid.write(to); } break; case mtpc_inputMediaGeoPoint: { const MTPDinputMediaGeoPoint &v(c_inputMediaGeoPoint()); v.vgeo_point.write(to); } break; case mtpc_inputMediaContact: { const MTPDinputMediaContact &v(c_inputMediaContact()); v.vphone_number.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); } break; case mtpc_inputMediaUploadedVideo: { const MTPDinputMediaUploadedVideo &v(c_inputMediaUploadedVideo()); v.vfile.write(to); v.vduration.write(to); v.vw.write(to); v.vh.write(to); v.vmime_type.write(to); } break; case mtpc_inputMediaUploadedThumbVideo: { const MTPDinputMediaUploadedThumbVideo &v(c_inputMediaUploadedThumbVideo()); v.vfile.write(to); v.vthumb.write(to); v.vduration.write(to); v.vw.write(to); v.vh.write(to); v.vmime_type.write(to); } break; case mtpc_inputMediaVideo: { const MTPDinputMediaVideo &v(c_inputMediaVideo()); v.vid.write(to); } break; case mtpc_inputMediaUploadedAudio: { const MTPDinputMediaUploadedAudio &v(c_inputMediaUploadedAudio()); v.vfile.write(to); v.vduration.write(to); v.vmime_type.write(to); } break; case mtpc_inputMediaAudio: { const MTPDinputMediaAudio &v(c_inputMediaAudio()); v.vid.write(to); } break; case mtpc_inputMediaUploadedDocument: { const MTPDinputMediaUploadedDocument &v(c_inputMediaUploadedDocument()); v.vfile.write(to); v.vfile_name.write(to); v.vmime_type.write(to); } break; case mtpc_inputMediaUploadedThumbDocument: { const MTPDinputMediaUploadedThumbDocument &v(c_inputMediaUploadedThumbDocument()); v.vfile.write(to); v.vthumb.write(to); v.vfile_name.write(to); v.vmime_type.write(to); } break; case mtpc_inputMediaDocument: { const MTPDinputMediaDocument &v(c_inputMediaDocument()); v.vid.write(to); } break; } } inline MTPinputMedia::MTPinputMedia(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputMediaEmpty: break; case mtpc_inputMediaUploadedPhoto: setData(new MTPDinputMediaUploadedPhoto()); break; case mtpc_inputMediaPhoto: setData(new MTPDinputMediaPhoto()); break; case mtpc_inputMediaGeoPoint: setData(new MTPDinputMediaGeoPoint()); break; case mtpc_inputMediaContact: setData(new MTPDinputMediaContact()); break; case mtpc_inputMediaUploadedVideo: setData(new MTPDinputMediaUploadedVideo()); break; case mtpc_inputMediaUploadedThumbVideo: setData(new MTPDinputMediaUploadedThumbVideo()); break; case mtpc_inputMediaVideo: setData(new MTPDinputMediaVideo()); break; case mtpc_inputMediaUploadedAudio: setData(new MTPDinputMediaUploadedAudio()); break; case mtpc_inputMediaAudio: setData(new MTPDinputMediaAudio()); break; case mtpc_inputMediaUploadedDocument: setData(new MTPDinputMediaUploadedDocument()); break; case mtpc_inputMediaUploadedThumbDocument: setData(new MTPDinputMediaUploadedThumbDocument()); break; case mtpc_inputMediaDocument: setData(new MTPDinputMediaDocument()); break; default: throw mtpErrorBadTypeId(type, "MTPinputMedia"); } } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedPhoto *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedPhoto) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaPhoto *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaPhoto) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaGeoPoint *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaGeoPoint) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaContact *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaContact) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedVideo *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedVideo) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedThumbVideo *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedThumbVideo) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaVideo *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaVideo) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedAudio *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedAudio) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaAudio *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaAudio) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedDocument *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedDocument) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaUploadedThumbDocument *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaUploadedThumbDocument) { } inline MTPinputMedia::MTPinputMedia(MTPDinputMediaDocument *_data) : mtpDataOwner(_data), _type(mtpc_inputMediaDocument) { } inline MTPinputMedia MTP_inputMediaEmpty() { return MTPinputMedia(mtpc_inputMediaEmpty); } inline MTPinputMedia MTP_inputMediaUploadedPhoto(const MTPInputFile &_file) { return MTPinputMedia(new MTPDinputMediaUploadedPhoto(_file)); } inline MTPinputMedia MTP_inputMediaPhoto(const MTPInputPhoto &_id) { return MTPinputMedia(new MTPDinputMediaPhoto(_id)); } inline MTPinputMedia MTP_inputMediaGeoPoint(const MTPInputGeoPoint &_geo_point) { return MTPinputMedia(new MTPDinputMediaGeoPoint(_geo_point)); } inline MTPinputMedia MTP_inputMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name) { return MTPinputMedia(new MTPDinputMediaContact(_phone_number, _first_name, _last_name)); } inline MTPinputMedia MTP_inputMediaUploadedVideo(const MTPInputFile &_file, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type) { return MTPinputMedia(new MTPDinputMediaUploadedVideo(_file, _duration, _w, _h, _mime_type)); } inline MTPinputMedia MTP_inputMediaUploadedThumbVideo(const MTPInputFile &_file, const MTPInputFile &_thumb, MTPint _duration, MTPint _w, MTPint _h, const MTPstring &_mime_type) { return MTPinputMedia(new MTPDinputMediaUploadedThumbVideo(_file, _thumb, _duration, _w, _h, _mime_type)); } inline MTPinputMedia MTP_inputMediaVideo(const MTPInputVideo &_id) { return MTPinputMedia(new MTPDinputMediaVideo(_id)); } inline MTPinputMedia MTP_inputMediaUploadedAudio(const MTPInputFile &_file, MTPint _duration, const MTPstring &_mime_type) { return MTPinputMedia(new MTPDinputMediaUploadedAudio(_file, _duration, _mime_type)); } inline MTPinputMedia MTP_inputMediaAudio(const MTPInputAudio &_id) { return MTPinputMedia(new MTPDinputMediaAudio(_id)); } inline MTPinputMedia MTP_inputMediaUploadedDocument(const MTPInputFile &_file, const MTPstring &_file_name, const MTPstring &_mime_type) { return MTPinputMedia(new MTPDinputMediaUploadedDocument(_file, _file_name, _mime_type)); } inline MTPinputMedia MTP_inputMediaUploadedThumbDocument(const MTPInputFile &_file, const MTPInputFile &_thumb, const MTPstring &_file_name, const MTPstring &_mime_type) { return MTPinputMedia(new MTPDinputMediaUploadedThumbDocument(_file, _thumb, _file_name, _mime_type)); } inline MTPinputMedia MTP_inputMediaDocument(const MTPInputDocument &_id) { return MTPinputMedia(new MTPDinputMediaDocument(_id)); } inline uint32 MTPinputChatPhoto::size() const { switch (_type) { case mtpc_inputChatUploadedPhoto: { const MTPDinputChatUploadedPhoto &v(c_inputChatUploadedPhoto()); return v.vfile.size() + v.vcrop.size(); } case mtpc_inputChatPhoto: { const MTPDinputChatPhoto &v(c_inputChatPhoto()); return v.vid.size() + v.vcrop.size(); } } return 0; } inline mtpTypeId MTPinputChatPhoto::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputChatPhoto::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputChatPhotoEmpty: _type = cons; break; case mtpc_inputChatUploadedPhoto: _type = cons; { if (!data) setData(new MTPDinputChatUploadedPhoto()); MTPDinputChatUploadedPhoto &v(_inputChatUploadedPhoto()); v.vfile.read(from, end); v.vcrop.read(from, end); } break; case mtpc_inputChatPhoto: _type = cons; { if (!data) setData(new MTPDinputChatPhoto()); MTPDinputChatPhoto &v(_inputChatPhoto()); v.vid.read(from, end); v.vcrop.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputChatPhoto"); } } inline void MTPinputChatPhoto::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputChatUploadedPhoto: { const MTPDinputChatUploadedPhoto &v(c_inputChatUploadedPhoto()); v.vfile.write(to); v.vcrop.write(to); } break; case mtpc_inputChatPhoto: { const MTPDinputChatPhoto &v(c_inputChatPhoto()); v.vid.write(to); v.vcrop.write(to); } break; } } inline MTPinputChatPhoto::MTPinputChatPhoto(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputChatPhotoEmpty: break; case mtpc_inputChatUploadedPhoto: setData(new MTPDinputChatUploadedPhoto()); break; case mtpc_inputChatPhoto: setData(new MTPDinputChatPhoto()); break; default: throw mtpErrorBadTypeId(type, "MTPinputChatPhoto"); } } inline MTPinputChatPhoto::MTPinputChatPhoto(MTPDinputChatUploadedPhoto *_data) : mtpDataOwner(_data), _type(mtpc_inputChatUploadedPhoto) { } inline MTPinputChatPhoto::MTPinputChatPhoto(MTPDinputChatPhoto *_data) : mtpDataOwner(_data), _type(mtpc_inputChatPhoto) { } inline MTPinputChatPhoto MTP_inputChatPhotoEmpty() { return MTPinputChatPhoto(mtpc_inputChatPhotoEmpty); } inline MTPinputChatPhoto MTP_inputChatUploadedPhoto(const MTPInputFile &_file, const MTPInputPhotoCrop &_crop) { return MTPinputChatPhoto(new MTPDinputChatUploadedPhoto(_file, _crop)); } inline MTPinputChatPhoto MTP_inputChatPhoto(const MTPInputPhoto &_id, const MTPInputPhotoCrop &_crop) { return MTPinputChatPhoto(new MTPDinputChatPhoto(_id, _crop)); } inline uint32 MTPinputGeoPoint::size() const { switch (_type) { case mtpc_inputGeoPoint: { const MTPDinputGeoPoint &v(c_inputGeoPoint()); return v.vlat.size() + v.vlong.size(); } } return 0; } inline mtpTypeId MTPinputGeoPoint::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputGeoPoint::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputGeoPointEmpty: _type = cons; break; case mtpc_inputGeoPoint: _type = cons; { if (!data) setData(new MTPDinputGeoPoint()); MTPDinputGeoPoint &v(_inputGeoPoint()); v.vlat.read(from, end); v.vlong.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputGeoPoint"); } } inline void MTPinputGeoPoint::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputGeoPoint: { const MTPDinputGeoPoint &v(c_inputGeoPoint()); v.vlat.write(to); v.vlong.write(to); } break; } } inline MTPinputGeoPoint::MTPinputGeoPoint(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputGeoPointEmpty: break; case mtpc_inputGeoPoint: setData(new MTPDinputGeoPoint()); break; default: throw mtpErrorBadTypeId(type, "MTPinputGeoPoint"); } } inline MTPinputGeoPoint::MTPinputGeoPoint(MTPDinputGeoPoint *_data) : mtpDataOwner(_data), _type(mtpc_inputGeoPoint) { } inline MTPinputGeoPoint MTP_inputGeoPointEmpty() { return MTPinputGeoPoint(mtpc_inputGeoPointEmpty); } inline MTPinputGeoPoint MTP_inputGeoPoint(const MTPdouble &_lat, const MTPdouble &_long) { return MTPinputGeoPoint(new MTPDinputGeoPoint(_lat, _long)); } inline uint32 MTPinputPhoto::size() const { switch (_type) { case mtpc_inputPhoto: { const MTPDinputPhoto &v(c_inputPhoto()); return v.vid.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputPhoto::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputPhoto::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputPhotoEmpty: _type = cons; break; case mtpc_inputPhoto: _type = cons; { if (!data) setData(new MTPDinputPhoto()); MTPDinputPhoto &v(_inputPhoto()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputPhoto"); } } inline void MTPinputPhoto::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputPhoto: { const MTPDinputPhoto &v(c_inputPhoto()); v.vid.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputPhoto::MTPinputPhoto(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputPhotoEmpty: break; case mtpc_inputPhoto: setData(new MTPDinputPhoto()); break; default: throw mtpErrorBadTypeId(type, "MTPinputPhoto"); } } inline MTPinputPhoto::MTPinputPhoto(MTPDinputPhoto *_data) : mtpDataOwner(_data), _type(mtpc_inputPhoto) { } inline MTPinputPhoto MTP_inputPhotoEmpty() { return MTPinputPhoto(mtpc_inputPhotoEmpty); } inline MTPinputPhoto MTP_inputPhoto(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputPhoto(new MTPDinputPhoto(_id, _access_hash)); } inline uint32 MTPinputVideo::size() const { switch (_type) { case mtpc_inputVideo: { const MTPDinputVideo &v(c_inputVideo()); return v.vid.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputVideo::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputVideo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputVideoEmpty: _type = cons; break; case mtpc_inputVideo: _type = cons; { if (!data) setData(new MTPDinputVideo()); MTPDinputVideo &v(_inputVideo()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputVideo"); } } inline void MTPinputVideo::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputVideo: { const MTPDinputVideo &v(c_inputVideo()); v.vid.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputVideo::MTPinputVideo(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputVideoEmpty: break; case mtpc_inputVideo: setData(new MTPDinputVideo()); break; default: throw mtpErrorBadTypeId(type, "MTPinputVideo"); } } inline MTPinputVideo::MTPinputVideo(MTPDinputVideo *_data) : mtpDataOwner(_data), _type(mtpc_inputVideo) { } inline MTPinputVideo MTP_inputVideoEmpty() { return MTPinputVideo(mtpc_inputVideoEmpty); } inline MTPinputVideo MTP_inputVideo(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputVideo(new MTPDinputVideo(_id, _access_hash)); } inline uint32 MTPinputFileLocation::size() const { switch (_type) { case mtpc_inputFileLocation: { const MTPDinputFileLocation &v(c_inputFileLocation()); return v.vvolume_id.size() + v.vlocal_id.size() + v.vsecret.size(); } case mtpc_inputVideoFileLocation: { const MTPDinputVideoFileLocation &v(c_inputVideoFileLocation()); return v.vid.size() + v.vaccess_hash.size(); } case mtpc_inputEncryptedFileLocation: { const MTPDinputEncryptedFileLocation &v(c_inputEncryptedFileLocation()); return v.vid.size() + v.vaccess_hash.size(); } case mtpc_inputAudioFileLocation: { const MTPDinputAudioFileLocation &v(c_inputAudioFileLocation()); return v.vid.size() + v.vaccess_hash.size(); } case mtpc_inputDocumentFileLocation: { const MTPDinputDocumentFileLocation &v(c_inputDocumentFileLocation()); return v.vid.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputFileLocation::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputFileLocation::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputFileLocation: _type = cons; { if (!data) setData(new MTPDinputFileLocation()); MTPDinputFileLocation &v(_inputFileLocation()); v.vvolume_id.read(from, end); v.vlocal_id.read(from, end); v.vsecret.read(from, end); } break; case mtpc_inputVideoFileLocation: _type = cons; { if (!data) setData(new MTPDinputVideoFileLocation()); MTPDinputVideoFileLocation &v(_inputVideoFileLocation()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; case mtpc_inputEncryptedFileLocation: _type = cons; { if (!data) setData(new MTPDinputEncryptedFileLocation()); MTPDinputEncryptedFileLocation &v(_inputEncryptedFileLocation()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; case mtpc_inputAudioFileLocation: _type = cons; { if (!data) setData(new MTPDinputAudioFileLocation()); MTPDinputAudioFileLocation &v(_inputAudioFileLocation()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; case mtpc_inputDocumentFileLocation: _type = cons; { if (!data) setData(new MTPDinputDocumentFileLocation()); MTPDinputDocumentFileLocation &v(_inputDocumentFileLocation()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputFileLocation"); } } inline void MTPinputFileLocation::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputFileLocation: { const MTPDinputFileLocation &v(c_inputFileLocation()); v.vvolume_id.write(to); v.vlocal_id.write(to); v.vsecret.write(to); } break; case mtpc_inputVideoFileLocation: { const MTPDinputVideoFileLocation &v(c_inputVideoFileLocation()); v.vid.write(to); v.vaccess_hash.write(to); } break; case mtpc_inputEncryptedFileLocation: { const MTPDinputEncryptedFileLocation &v(c_inputEncryptedFileLocation()); v.vid.write(to); v.vaccess_hash.write(to); } break; case mtpc_inputAudioFileLocation: { const MTPDinputAudioFileLocation &v(c_inputAudioFileLocation()); v.vid.write(to); v.vaccess_hash.write(to); } break; case mtpc_inputDocumentFileLocation: { const MTPDinputDocumentFileLocation &v(c_inputDocumentFileLocation()); v.vid.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputFileLocation::MTPinputFileLocation(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputFileLocation: setData(new MTPDinputFileLocation()); break; case mtpc_inputVideoFileLocation: setData(new MTPDinputVideoFileLocation()); break; case mtpc_inputEncryptedFileLocation: setData(new MTPDinputEncryptedFileLocation()); break; case mtpc_inputAudioFileLocation: setData(new MTPDinputAudioFileLocation()); break; case mtpc_inputDocumentFileLocation: setData(new MTPDinputDocumentFileLocation()); break; default: throw mtpErrorBadTypeId(type, "MTPinputFileLocation"); } } inline MTPinputFileLocation::MTPinputFileLocation(MTPDinputFileLocation *_data) : mtpDataOwner(_data), _type(mtpc_inputFileLocation) { } inline MTPinputFileLocation::MTPinputFileLocation(MTPDinputVideoFileLocation *_data) : mtpDataOwner(_data), _type(mtpc_inputVideoFileLocation) { } inline MTPinputFileLocation::MTPinputFileLocation(MTPDinputEncryptedFileLocation *_data) : mtpDataOwner(_data), _type(mtpc_inputEncryptedFileLocation) { } inline MTPinputFileLocation::MTPinputFileLocation(MTPDinputAudioFileLocation *_data) : mtpDataOwner(_data), _type(mtpc_inputAudioFileLocation) { } inline MTPinputFileLocation::MTPinputFileLocation(MTPDinputDocumentFileLocation *_data) : mtpDataOwner(_data), _type(mtpc_inputDocumentFileLocation) { } inline MTPinputFileLocation MTP_inputFileLocation(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) { return MTPinputFileLocation(new MTPDinputFileLocation(_volume_id, _local_id, _secret)); } inline MTPinputFileLocation MTP_inputVideoFileLocation(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputFileLocation(new MTPDinputVideoFileLocation(_id, _access_hash)); } inline MTPinputFileLocation MTP_inputEncryptedFileLocation(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputFileLocation(new MTPDinputEncryptedFileLocation(_id, _access_hash)); } inline MTPinputFileLocation MTP_inputAudioFileLocation(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputFileLocation(new MTPDinputAudioFileLocation(_id, _access_hash)); } inline MTPinputFileLocation MTP_inputDocumentFileLocation(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputFileLocation(new MTPDinputDocumentFileLocation(_id, _access_hash)); } inline uint32 MTPinputPhotoCrop::size() const { switch (_type) { case mtpc_inputPhotoCrop: { const MTPDinputPhotoCrop &v(c_inputPhotoCrop()); return v.vcrop_left.size() + v.vcrop_top.size() + v.vcrop_width.size(); } } return 0; } inline mtpTypeId MTPinputPhotoCrop::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputPhotoCrop::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputPhotoCropAuto: _type = cons; break; case mtpc_inputPhotoCrop: _type = cons; { if (!data) setData(new MTPDinputPhotoCrop()); MTPDinputPhotoCrop &v(_inputPhotoCrop()); v.vcrop_left.read(from, end); v.vcrop_top.read(from, end); v.vcrop_width.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputPhotoCrop"); } } inline void MTPinputPhotoCrop::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputPhotoCrop: { const MTPDinputPhotoCrop &v(c_inputPhotoCrop()); v.vcrop_left.write(to); v.vcrop_top.write(to); v.vcrop_width.write(to); } break; } } inline MTPinputPhotoCrop::MTPinputPhotoCrop(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputPhotoCropAuto: break; case mtpc_inputPhotoCrop: setData(new MTPDinputPhotoCrop()); break; default: throw mtpErrorBadTypeId(type, "MTPinputPhotoCrop"); } } inline MTPinputPhotoCrop::MTPinputPhotoCrop(MTPDinputPhotoCrop *_data) : mtpDataOwner(_data), _type(mtpc_inputPhotoCrop) { } inline MTPinputPhotoCrop MTP_inputPhotoCropAuto() { return MTPinputPhotoCrop(mtpc_inputPhotoCropAuto); } inline MTPinputPhotoCrop MTP_inputPhotoCrop(const MTPdouble &_crop_left, const MTPdouble &_crop_top, const MTPdouble &_crop_width) { return MTPinputPhotoCrop(new MTPDinputPhotoCrop(_crop_left, _crop_top, _crop_width)); } inline MTPinputAppEvent::MTPinputAppEvent() : mtpDataOwner(new MTPDinputAppEvent()) { } inline uint32 MTPinputAppEvent::size() const { const MTPDinputAppEvent &v(c_inputAppEvent()); return v.vtime.size() + v.vtype.size() + v.vpeer.size() + v.vdata.size(); } inline mtpTypeId MTPinputAppEvent::type() const { return mtpc_inputAppEvent; } inline void MTPinputAppEvent::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_inputAppEvent) throw mtpErrorUnexpected(cons, "MTPinputAppEvent"); if (!data) setData(new MTPDinputAppEvent()); MTPDinputAppEvent &v(_inputAppEvent()); v.vtime.read(from, end); v.vtype.read(from, end); v.vpeer.read(from, end); v.vdata.read(from, end); } inline void MTPinputAppEvent::write(mtpBuffer &to) const { const MTPDinputAppEvent &v(c_inputAppEvent()); v.vtime.write(to); v.vtype.write(to); v.vpeer.write(to); v.vdata.write(to); } inline MTPinputAppEvent::MTPinputAppEvent(MTPDinputAppEvent *_data) : mtpDataOwner(_data) { } inline MTPinputAppEvent MTP_inputAppEvent(const MTPdouble &_time, const MTPstring &_type, const MTPlong &_peer, const MTPstring &_data) { return MTPinputAppEvent(new MTPDinputAppEvent(_time, _type, _peer, _data)); } inline uint32 MTPpeer::size() const { switch (_type) { case mtpc_peerUser: { const MTPDpeerUser &v(c_peerUser()); return v.vuser_id.size(); } case mtpc_peerChat: { const MTPDpeerChat &v(c_peerChat()); return v.vchat_id.size(); } } return 0; } inline mtpTypeId MTPpeer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPpeer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_peerUser: _type = cons; { if (!data) setData(new MTPDpeerUser()); MTPDpeerUser &v(_peerUser()); v.vuser_id.read(from, end); } break; case mtpc_peerChat: _type = cons; { if (!data) setData(new MTPDpeerChat()); MTPDpeerChat &v(_peerChat()); v.vchat_id.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPpeer"); } } inline void MTPpeer::write(mtpBuffer &to) const { switch (_type) { case mtpc_peerUser: { const MTPDpeerUser &v(c_peerUser()); v.vuser_id.write(to); } break; case mtpc_peerChat: { const MTPDpeerChat &v(c_peerChat()); v.vchat_id.write(to); } break; } } inline MTPpeer::MTPpeer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_peerUser: setData(new MTPDpeerUser()); break; case mtpc_peerChat: setData(new MTPDpeerChat()); break; default: throw mtpErrorBadTypeId(type, "MTPpeer"); } } inline MTPpeer::MTPpeer(MTPDpeerUser *_data) : mtpDataOwner(_data), _type(mtpc_peerUser) { } inline MTPpeer::MTPpeer(MTPDpeerChat *_data) : mtpDataOwner(_data), _type(mtpc_peerChat) { } inline MTPpeer MTP_peerUser(MTPint _user_id) { return MTPpeer(new MTPDpeerUser(_user_id)); } inline MTPpeer MTP_peerChat(MTPint _chat_id) { return MTPpeer(new MTPDpeerChat(_chat_id)); } inline uint32 MTPstorage_fileType::size() const { return 0; } inline mtpTypeId MTPstorage_fileType::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPstorage_fileType::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { switch (cons) { case mtpc_storage_fileUnknown: _type = cons; break; case mtpc_storage_fileJpeg: _type = cons; break; case mtpc_storage_fileGif: _type = cons; break; case mtpc_storage_filePng: _type = cons; break; case mtpc_storage_filePdf: _type = cons; break; case mtpc_storage_fileMp3: _type = cons; break; case mtpc_storage_fileMov: _type = cons; break; case mtpc_storage_filePartial: _type = cons; break; case mtpc_storage_fileMp4: _type = cons; break; case mtpc_storage_fileWebp: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPstorage_fileType"); } } inline void MTPstorage_fileType::write(mtpBuffer &to) const { switch (_type) { } } inline MTPstorage_fileType::MTPstorage_fileType(mtpTypeId type) : _type(type) { switch (type) { case mtpc_storage_fileUnknown: break; case mtpc_storage_fileJpeg: break; case mtpc_storage_fileGif: break; case mtpc_storage_filePng: break; case mtpc_storage_filePdf: break; case mtpc_storage_fileMp3: break; case mtpc_storage_fileMov: break; case mtpc_storage_filePartial: break; case mtpc_storage_fileMp4: break; case mtpc_storage_fileWebp: break; default: throw mtpErrorBadTypeId(type, "MTPstorage_fileType"); } } inline MTPstorage_fileType MTP_storage_fileUnknown() { return MTPstorage_fileType(mtpc_storage_fileUnknown); } inline MTPstorage_fileType MTP_storage_fileJpeg() { return MTPstorage_fileType(mtpc_storage_fileJpeg); } inline MTPstorage_fileType MTP_storage_fileGif() { return MTPstorage_fileType(mtpc_storage_fileGif); } inline MTPstorage_fileType MTP_storage_filePng() { return MTPstorage_fileType(mtpc_storage_filePng); } inline MTPstorage_fileType MTP_storage_filePdf() { return MTPstorage_fileType(mtpc_storage_filePdf); } inline MTPstorage_fileType MTP_storage_fileMp3() { return MTPstorage_fileType(mtpc_storage_fileMp3); } inline MTPstorage_fileType MTP_storage_fileMov() { return MTPstorage_fileType(mtpc_storage_fileMov); } inline MTPstorage_fileType MTP_storage_filePartial() { return MTPstorage_fileType(mtpc_storage_filePartial); } inline MTPstorage_fileType MTP_storage_fileMp4() { return MTPstorage_fileType(mtpc_storage_fileMp4); } inline MTPstorage_fileType MTP_storage_fileWebp() { return MTPstorage_fileType(mtpc_storage_fileWebp); } inline uint32 MTPfileLocation::size() const { switch (_type) { case mtpc_fileLocationUnavailable: { const MTPDfileLocationUnavailable &v(c_fileLocationUnavailable()); return v.vvolume_id.size() + v.vlocal_id.size() + v.vsecret.size(); } case mtpc_fileLocation: { const MTPDfileLocation &v(c_fileLocation()); return v.vdc_id.size() + v.vvolume_id.size() + v.vlocal_id.size() + v.vsecret.size(); } } return 0; } inline mtpTypeId MTPfileLocation::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPfileLocation::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_fileLocationUnavailable: _type = cons; { if (!data) setData(new MTPDfileLocationUnavailable()); MTPDfileLocationUnavailable &v(_fileLocationUnavailable()); v.vvolume_id.read(from, end); v.vlocal_id.read(from, end); v.vsecret.read(from, end); } break; case mtpc_fileLocation: _type = cons; { if (!data) setData(new MTPDfileLocation()); MTPDfileLocation &v(_fileLocation()); v.vdc_id.read(from, end); v.vvolume_id.read(from, end); v.vlocal_id.read(from, end); v.vsecret.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPfileLocation"); } } inline void MTPfileLocation::write(mtpBuffer &to) const { switch (_type) { case mtpc_fileLocationUnavailable: { const MTPDfileLocationUnavailable &v(c_fileLocationUnavailable()); v.vvolume_id.write(to); v.vlocal_id.write(to); v.vsecret.write(to); } break; case mtpc_fileLocation: { const MTPDfileLocation &v(c_fileLocation()); v.vdc_id.write(to); v.vvolume_id.write(to); v.vlocal_id.write(to); v.vsecret.write(to); } break; } } inline MTPfileLocation::MTPfileLocation(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_fileLocationUnavailable: setData(new MTPDfileLocationUnavailable()); break; case mtpc_fileLocation: setData(new MTPDfileLocation()); break; default: throw mtpErrorBadTypeId(type, "MTPfileLocation"); } } inline MTPfileLocation::MTPfileLocation(MTPDfileLocationUnavailable *_data) : mtpDataOwner(_data), _type(mtpc_fileLocationUnavailable) { } inline MTPfileLocation::MTPfileLocation(MTPDfileLocation *_data) : mtpDataOwner(_data), _type(mtpc_fileLocation) { } inline MTPfileLocation MTP_fileLocationUnavailable(const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) { return MTPfileLocation(new MTPDfileLocationUnavailable(_volume_id, _local_id, _secret)); } inline MTPfileLocation MTP_fileLocation(MTPint _dc_id, const MTPlong &_volume_id, MTPint _local_id, const MTPlong &_secret) { return MTPfileLocation(new MTPDfileLocation(_dc_id, _volume_id, _local_id, _secret)); } inline uint32 MTPuser::size() const { switch (_type) { case mtpc_userEmpty: { const MTPDuserEmpty &v(c_userEmpty()); return v.vid.size(); } case mtpc_userSelf: { const MTPDuserSelf &v(c_userSelf()); return v.vid.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vphone.size() + v.vphoto.size() + v.vstatus.size() + v.vinactive.size(); } case mtpc_userContact: { const MTPDuserContact &v(c_userContact()); return v.vid.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vaccess_hash.size() + v.vphone.size() + v.vphoto.size() + v.vstatus.size(); } case mtpc_userRequest: { const MTPDuserRequest &v(c_userRequest()); return v.vid.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vaccess_hash.size() + v.vphone.size() + v.vphoto.size() + v.vstatus.size(); } case mtpc_userForeign: { const MTPDuserForeign &v(c_userForeign()); return v.vid.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vaccess_hash.size() + v.vphoto.size() + v.vstatus.size(); } case mtpc_userDeleted: { const MTPDuserDeleted &v(c_userDeleted()); return v.vid.size() + v.vfirst_name.size() + v.vlast_name.size(); } } return 0; } inline mtpTypeId MTPuser::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPuser::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_userEmpty: _type = cons; { if (!data) setData(new MTPDuserEmpty()); MTPDuserEmpty &v(_userEmpty()); v.vid.read(from, end); } break; case mtpc_userSelf: _type = cons; { if (!data) setData(new MTPDuserSelf()); MTPDuserSelf &v(_userSelf()); v.vid.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vphone.read(from, end); v.vphoto.read(from, end); v.vstatus.read(from, end); v.vinactive.read(from, end); } break; case mtpc_userContact: _type = cons; { if (!data) setData(new MTPDuserContact()); MTPDuserContact &v(_userContact()); v.vid.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vaccess_hash.read(from, end); v.vphone.read(from, end); v.vphoto.read(from, end); v.vstatus.read(from, end); } break; case mtpc_userRequest: _type = cons; { if (!data) setData(new MTPDuserRequest()); MTPDuserRequest &v(_userRequest()); v.vid.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vaccess_hash.read(from, end); v.vphone.read(from, end); v.vphoto.read(from, end); v.vstatus.read(from, end); } break; case mtpc_userForeign: _type = cons; { if (!data) setData(new MTPDuserForeign()); MTPDuserForeign &v(_userForeign()); v.vid.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vaccess_hash.read(from, end); v.vphoto.read(from, end); v.vstatus.read(from, end); } break; case mtpc_userDeleted: _type = cons; { if (!data) setData(new MTPDuserDeleted()); MTPDuserDeleted &v(_userDeleted()); v.vid.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPuser"); } } inline void MTPuser::write(mtpBuffer &to) const { switch (_type) { case mtpc_userEmpty: { const MTPDuserEmpty &v(c_userEmpty()); v.vid.write(to); } break; case mtpc_userSelf: { const MTPDuserSelf &v(c_userSelf()); v.vid.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vphone.write(to); v.vphoto.write(to); v.vstatus.write(to); v.vinactive.write(to); } break; case mtpc_userContact: { const MTPDuserContact &v(c_userContact()); v.vid.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vaccess_hash.write(to); v.vphone.write(to); v.vphoto.write(to); v.vstatus.write(to); } break; case mtpc_userRequest: { const MTPDuserRequest &v(c_userRequest()); v.vid.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vaccess_hash.write(to); v.vphone.write(to); v.vphoto.write(to); v.vstatus.write(to); } break; case mtpc_userForeign: { const MTPDuserForeign &v(c_userForeign()); v.vid.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vaccess_hash.write(to); v.vphoto.write(to); v.vstatus.write(to); } break; case mtpc_userDeleted: { const MTPDuserDeleted &v(c_userDeleted()); v.vid.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); } break; } } inline MTPuser::MTPuser(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_userEmpty: setData(new MTPDuserEmpty()); break; case mtpc_userSelf: setData(new MTPDuserSelf()); break; case mtpc_userContact: setData(new MTPDuserContact()); break; case mtpc_userRequest: setData(new MTPDuserRequest()); break; case mtpc_userForeign: setData(new MTPDuserForeign()); break; case mtpc_userDeleted: setData(new MTPDuserDeleted()); break; default: throw mtpErrorBadTypeId(type, "MTPuser"); } } inline MTPuser::MTPuser(MTPDuserEmpty *_data) : mtpDataOwner(_data), _type(mtpc_userEmpty) { } inline MTPuser::MTPuser(MTPDuserSelf *_data) : mtpDataOwner(_data), _type(mtpc_userSelf) { } inline MTPuser::MTPuser(MTPDuserContact *_data) : mtpDataOwner(_data), _type(mtpc_userContact) { } inline MTPuser::MTPuser(MTPDuserRequest *_data) : mtpDataOwner(_data), _type(mtpc_userRequest) { } inline MTPuser::MTPuser(MTPDuserForeign *_data) : mtpDataOwner(_data), _type(mtpc_userForeign) { } inline MTPuser::MTPuser(MTPDuserDeleted *_data) : mtpDataOwner(_data), _type(mtpc_userDeleted) { } inline MTPuser MTP_userEmpty(MTPint _id) { return MTPuser(new MTPDuserEmpty(_id)); } inline MTPuser MTP_userSelf(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status, MTPBool _inactive) { return MTPuser(new MTPDuserSelf(_id, _first_name, _last_name, _phone, _photo, _status, _inactive)); } inline MTPuser MTP_userContact(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) { return MTPuser(new MTPDuserContact(_id, _first_name, _last_name, _access_hash, _phone, _photo, _status)); } inline MTPuser MTP_userRequest(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPstring &_phone, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) { return MTPuser(new MTPDuserRequest(_id, _first_name, _last_name, _access_hash, _phone, _photo, _status)); } inline MTPuser MTP_userForeign(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name, const MTPlong &_access_hash, const MTPUserProfilePhoto &_photo, const MTPUserStatus &_status) { return MTPuser(new MTPDuserForeign(_id, _first_name, _last_name, _access_hash, _photo, _status)); } inline MTPuser MTP_userDeleted(MTPint _id, const MTPstring &_first_name, const MTPstring &_last_name) { return MTPuser(new MTPDuserDeleted(_id, _first_name, _last_name)); } inline uint32 MTPuserProfilePhoto::size() const { switch (_type) { case mtpc_userProfilePhoto: { const MTPDuserProfilePhoto &v(c_userProfilePhoto()); return v.vphoto_id.size() + v.vphoto_small.size() + v.vphoto_big.size(); } } return 0; } inline mtpTypeId MTPuserProfilePhoto::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPuserProfilePhoto::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_userProfilePhotoEmpty: _type = cons; break; case mtpc_userProfilePhoto: _type = cons; { if (!data) setData(new MTPDuserProfilePhoto()); MTPDuserProfilePhoto &v(_userProfilePhoto()); v.vphoto_id.read(from, end); v.vphoto_small.read(from, end); v.vphoto_big.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPuserProfilePhoto"); } } inline void MTPuserProfilePhoto::write(mtpBuffer &to) const { switch (_type) { case mtpc_userProfilePhoto: { const MTPDuserProfilePhoto &v(c_userProfilePhoto()); v.vphoto_id.write(to); v.vphoto_small.write(to); v.vphoto_big.write(to); } break; } } inline MTPuserProfilePhoto::MTPuserProfilePhoto(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_userProfilePhotoEmpty: break; case mtpc_userProfilePhoto: setData(new MTPDuserProfilePhoto()); break; default: throw mtpErrorBadTypeId(type, "MTPuserProfilePhoto"); } } inline MTPuserProfilePhoto::MTPuserProfilePhoto(MTPDuserProfilePhoto *_data) : mtpDataOwner(_data), _type(mtpc_userProfilePhoto) { } inline MTPuserProfilePhoto MTP_userProfilePhotoEmpty() { return MTPuserProfilePhoto(mtpc_userProfilePhotoEmpty); } inline MTPuserProfilePhoto MTP_userProfilePhoto(const MTPlong &_photo_id, const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big) { return MTPuserProfilePhoto(new MTPDuserProfilePhoto(_photo_id, _photo_small, _photo_big)); } inline uint32 MTPuserStatus::size() const { switch (_type) { case mtpc_userStatusOnline: { const MTPDuserStatusOnline &v(c_userStatusOnline()); return v.vexpires.size(); } case mtpc_userStatusOffline: { const MTPDuserStatusOffline &v(c_userStatusOffline()); return v.vwas_online.size(); } } return 0; } inline mtpTypeId MTPuserStatus::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPuserStatus::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_userStatusEmpty: _type = cons; break; case mtpc_userStatusOnline: _type = cons; { if (!data) setData(new MTPDuserStatusOnline()); MTPDuserStatusOnline &v(_userStatusOnline()); v.vexpires.read(from, end); } break; case mtpc_userStatusOffline: _type = cons; { if (!data) setData(new MTPDuserStatusOffline()); MTPDuserStatusOffline &v(_userStatusOffline()); v.vwas_online.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPuserStatus"); } } inline void MTPuserStatus::write(mtpBuffer &to) const { switch (_type) { case mtpc_userStatusOnline: { const MTPDuserStatusOnline &v(c_userStatusOnline()); v.vexpires.write(to); } break; case mtpc_userStatusOffline: { const MTPDuserStatusOffline &v(c_userStatusOffline()); v.vwas_online.write(to); } break; } } inline MTPuserStatus::MTPuserStatus(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_userStatusEmpty: break; case mtpc_userStatusOnline: setData(new MTPDuserStatusOnline()); break; case mtpc_userStatusOffline: setData(new MTPDuserStatusOffline()); break; default: throw mtpErrorBadTypeId(type, "MTPuserStatus"); } } inline MTPuserStatus::MTPuserStatus(MTPDuserStatusOnline *_data) : mtpDataOwner(_data), _type(mtpc_userStatusOnline) { } inline MTPuserStatus::MTPuserStatus(MTPDuserStatusOffline *_data) : mtpDataOwner(_data), _type(mtpc_userStatusOffline) { } inline MTPuserStatus MTP_userStatusEmpty() { return MTPuserStatus(mtpc_userStatusEmpty); } inline MTPuserStatus MTP_userStatusOnline(MTPint _expires) { return MTPuserStatus(new MTPDuserStatusOnline(_expires)); } inline MTPuserStatus MTP_userStatusOffline(MTPint _was_online) { return MTPuserStatus(new MTPDuserStatusOffline(_was_online)); } inline uint32 MTPchat::size() const { switch (_type) { case mtpc_chatEmpty: { const MTPDchatEmpty &v(c_chatEmpty()); return v.vid.size(); } case mtpc_chat: { const MTPDchat &v(c_chat()); return v.vid.size() + v.vtitle.size() + v.vphoto.size() + v.vparticipants_count.size() + v.vdate.size() + v.vleft.size() + v.vversion.size(); } case mtpc_chatForbidden: { const MTPDchatForbidden &v(c_chatForbidden()); return v.vid.size() + v.vtitle.size() + v.vdate.size(); } case mtpc_geoChat: { const MTPDgeoChat &v(c_geoChat()); return v.vid.size() + v.vaccess_hash.size() + v.vtitle.size() + v.vaddress.size() + v.vvenue.size() + v.vgeo.size() + v.vphoto.size() + v.vparticipants_count.size() + v.vdate.size() + v.vchecked_in.size() + v.vversion.size(); } } return 0; } inline mtpTypeId MTPchat::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPchat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_chatEmpty: _type = cons; { if (!data) setData(new MTPDchatEmpty()); MTPDchatEmpty &v(_chatEmpty()); v.vid.read(from, end); } break; case mtpc_chat: _type = cons; { if (!data) setData(new MTPDchat()); MTPDchat &v(_chat()); v.vid.read(from, end); v.vtitle.read(from, end); v.vphoto.read(from, end); v.vparticipants_count.read(from, end); v.vdate.read(from, end); v.vleft.read(from, end); v.vversion.read(from, end); } break; case mtpc_chatForbidden: _type = cons; { if (!data) setData(new MTPDchatForbidden()); MTPDchatForbidden &v(_chatForbidden()); v.vid.read(from, end); v.vtitle.read(from, end); v.vdate.read(from, end); } break; case mtpc_geoChat: _type = cons; { if (!data) setData(new MTPDgeoChat()); MTPDgeoChat &v(_geoChat()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vtitle.read(from, end); v.vaddress.read(from, end); v.vvenue.read(from, end); v.vgeo.read(from, end); v.vphoto.read(from, end); v.vparticipants_count.read(from, end); v.vdate.read(from, end); v.vchecked_in.read(from, end); v.vversion.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPchat"); } } inline void MTPchat::write(mtpBuffer &to) const { switch (_type) { case mtpc_chatEmpty: { const MTPDchatEmpty &v(c_chatEmpty()); v.vid.write(to); } break; case mtpc_chat: { const MTPDchat &v(c_chat()); v.vid.write(to); v.vtitle.write(to); v.vphoto.write(to); v.vparticipants_count.write(to); v.vdate.write(to); v.vleft.write(to); v.vversion.write(to); } break; case mtpc_chatForbidden: { const MTPDchatForbidden &v(c_chatForbidden()); v.vid.write(to); v.vtitle.write(to); v.vdate.write(to); } break; case mtpc_geoChat: { const MTPDgeoChat &v(c_geoChat()); v.vid.write(to); v.vaccess_hash.write(to); v.vtitle.write(to); v.vaddress.write(to); v.vvenue.write(to); v.vgeo.write(to); v.vphoto.write(to); v.vparticipants_count.write(to); v.vdate.write(to); v.vchecked_in.write(to); v.vversion.write(to); } break; } } inline MTPchat::MTPchat(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_chatEmpty: setData(new MTPDchatEmpty()); break; case mtpc_chat: setData(new MTPDchat()); break; case mtpc_chatForbidden: setData(new MTPDchatForbidden()); break; case mtpc_geoChat: setData(new MTPDgeoChat()); break; default: throw mtpErrorBadTypeId(type, "MTPchat"); } } inline MTPchat::MTPchat(MTPDchatEmpty *_data) : mtpDataOwner(_data), _type(mtpc_chatEmpty) { } inline MTPchat::MTPchat(MTPDchat *_data) : mtpDataOwner(_data), _type(mtpc_chat) { } inline MTPchat::MTPchat(MTPDchatForbidden *_data) : mtpDataOwner(_data), _type(mtpc_chatForbidden) { } inline MTPchat::MTPchat(MTPDgeoChat *_data) : mtpDataOwner(_data), _type(mtpc_geoChat) { } inline MTPchat MTP_chatEmpty(MTPint _id) { return MTPchat(new MTPDchatEmpty(_id)); } inline MTPchat MTP_chat(MTPint _id, const MTPstring &_title, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _left, MTPint _version) { return MTPchat(new MTPDchat(_id, _title, _photo, _participants_count, _date, _left, _version)); } inline MTPchat MTP_chatForbidden(MTPint _id, const MTPstring &_title, MTPint _date) { return MTPchat(new MTPDchatForbidden(_id, _title, _date)); } inline MTPchat MTP_geoChat(MTPint _id, const MTPlong &_access_hash, const MTPstring &_title, const MTPstring &_address, const MTPstring &_venue, const MTPGeoPoint &_geo, const MTPChatPhoto &_photo, MTPint _participants_count, MTPint _date, MTPBool _checked_in, MTPint _version) { return MTPchat(new MTPDgeoChat(_id, _access_hash, _title, _address, _venue, _geo, _photo, _participants_count, _date, _checked_in, _version)); } inline MTPchatFull::MTPchatFull() : mtpDataOwner(new MTPDchatFull()) { } inline uint32 MTPchatFull::size() const { const MTPDchatFull &v(c_chatFull()); return v.vid.size() + v.vparticipants.size() + v.vchat_photo.size() + v.vnotify_settings.size(); } inline mtpTypeId MTPchatFull::type() const { return mtpc_chatFull; } inline void MTPchatFull::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_chatFull) throw mtpErrorUnexpected(cons, "MTPchatFull"); if (!data) setData(new MTPDchatFull()); MTPDchatFull &v(_chatFull()); v.vid.read(from, end); v.vparticipants.read(from, end); v.vchat_photo.read(from, end); v.vnotify_settings.read(from, end); } inline void MTPchatFull::write(mtpBuffer &to) const { const MTPDchatFull &v(c_chatFull()); v.vid.write(to); v.vparticipants.write(to); v.vchat_photo.write(to); v.vnotify_settings.write(to); } inline MTPchatFull::MTPchatFull(MTPDchatFull *_data) : mtpDataOwner(_data) { } inline MTPchatFull MTP_chatFull(MTPint _id, const MTPChatParticipants &_participants, const MTPPhoto &_chat_photo, const MTPPeerNotifySettings &_notify_settings) { return MTPchatFull(new MTPDchatFull(_id, _participants, _chat_photo, _notify_settings)); } inline MTPchatParticipant::MTPchatParticipant() : mtpDataOwner(new MTPDchatParticipant()) { } inline uint32 MTPchatParticipant::size() const { const MTPDchatParticipant &v(c_chatParticipant()); return v.vuser_id.size() + v.vinviter_id.size() + v.vdate.size(); } inline mtpTypeId MTPchatParticipant::type() const { return mtpc_chatParticipant; } inline void MTPchatParticipant::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_chatParticipant) throw mtpErrorUnexpected(cons, "MTPchatParticipant"); if (!data) setData(new MTPDchatParticipant()); MTPDchatParticipant &v(_chatParticipant()); v.vuser_id.read(from, end); v.vinviter_id.read(from, end); v.vdate.read(from, end); } inline void MTPchatParticipant::write(mtpBuffer &to) const { const MTPDchatParticipant &v(c_chatParticipant()); v.vuser_id.write(to); v.vinviter_id.write(to); v.vdate.write(to); } inline MTPchatParticipant::MTPchatParticipant(MTPDchatParticipant *_data) : mtpDataOwner(_data) { } inline MTPchatParticipant MTP_chatParticipant(MTPint _user_id, MTPint _inviter_id, MTPint _date) { return MTPchatParticipant(new MTPDchatParticipant(_user_id, _inviter_id, _date)); } inline uint32 MTPchatParticipants::size() const { switch (_type) { case mtpc_chatParticipantsForbidden: { const MTPDchatParticipantsForbidden &v(c_chatParticipantsForbidden()); return v.vchat_id.size(); } case mtpc_chatParticipants: { const MTPDchatParticipants &v(c_chatParticipants()); return v.vchat_id.size() + v.vadmin_id.size() + v.vparticipants.size() + v.vversion.size(); } } return 0; } inline mtpTypeId MTPchatParticipants::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPchatParticipants::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_chatParticipantsForbidden: _type = cons; { if (!data) setData(new MTPDchatParticipantsForbidden()); MTPDchatParticipantsForbidden &v(_chatParticipantsForbidden()); v.vchat_id.read(from, end); } break; case mtpc_chatParticipants: _type = cons; { if (!data) setData(new MTPDchatParticipants()); MTPDchatParticipants &v(_chatParticipants()); v.vchat_id.read(from, end); v.vadmin_id.read(from, end); v.vparticipants.read(from, end); v.vversion.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPchatParticipants"); } } inline void MTPchatParticipants::write(mtpBuffer &to) const { switch (_type) { case mtpc_chatParticipantsForbidden: { const MTPDchatParticipantsForbidden &v(c_chatParticipantsForbidden()); v.vchat_id.write(to); } break; case mtpc_chatParticipants: { const MTPDchatParticipants &v(c_chatParticipants()); v.vchat_id.write(to); v.vadmin_id.write(to); v.vparticipants.write(to); v.vversion.write(to); } break; } } inline MTPchatParticipants::MTPchatParticipants(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_chatParticipantsForbidden: setData(new MTPDchatParticipantsForbidden()); break; case mtpc_chatParticipants: setData(new MTPDchatParticipants()); break; default: throw mtpErrorBadTypeId(type, "MTPchatParticipants"); } } inline MTPchatParticipants::MTPchatParticipants(MTPDchatParticipantsForbidden *_data) : mtpDataOwner(_data), _type(mtpc_chatParticipantsForbidden) { } inline MTPchatParticipants::MTPchatParticipants(MTPDchatParticipants *_data) : mtpDataOwner(_data), _type(mtpc_chatParticipants) { } inline MTPchatParticipants MTP_chatParticipantsForbidden(MTPint _chat_id) { return MTPchatParticipants(new MTPDchatParticipantsForbidden(_chat_id)); } inline MTPchatParticipants MTP_chatParticipants(MTPint _chat_id, MTPint _admin_id, const MTPVector &_participants, MTPint _version) { return MTPchatParticipants(new MTPDchatParticipants(_chat_id, _admin_id, _participants, _version)); } inline uint32 MTPchatPhoto::size() const { switch (_type) { case mtpc_chatPhoto: { const MTPDchatPhoto &v(c_chatPhoto()); return v.vphoto_small.size() + v.vphoto_big.size(); } } return 0; } inline mtpTypeId MTPchatPhoto::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPchatPhoto::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_chatPhotoEmpty: _type = cons; break; case mtpc_chatPhoto: _type = cons; { if (!data) setData(new MTPDchatPhoto()); MTPDchatPhoto &v(_chatPhoto()); v.vphoto_small.read(from, end); v.vphoto_big.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPchatPhoto"); } } inline void MTPchatPhoto::write(mtpBuffer &to) const { switch (_type) { case mtpc_chatPhoto: { const MTPDchatPhoto &v(c_chatPhoto()); v.vphoto_small.write(to); v.vphoto_big.write(to); } break; } } inline MTPchatPhoto::MTPchatPhoto(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_chatPhotoEmpty: break; case mtpc_chatPhoto: setData(new MTPDchatPhoto()); break; default: throw mtpErrorBadTypeId(type, "MTPchatPhoto"); } } inline MTPchatPhoto::MTPchatPhoto(MTPDchatPhoto *_data) : mtpDataOwner(_data), _type(mtpc_chatPhoto) { } inline MTPchatPhoto MTP_chatPhotoEmpty() { return MTPchatPhoto(mtpc_chatPhotoEmpty); } inline MTPchatPhoto MTP_chatPhoto(const MTPFileLocation &_photo_small, const MTPFileLocation &_photo_big) { return MTPchatPhoto(new MTPDchatPhoto(_photo_small, _photo_big)); } inline uint32 MTPmessage::size() const { switch (_type) { case mtpc_messageEmpty: { const MTPDmessageEmpty &v(c_messageEmpty()); return v.vid.size(); } case mtpc_message: { const MTPDmessage &v(c_message()); return v.vid.size() + v.vfrom_id.size() + v.vto_id.size() + v.vout.size() + v.vunread.size() + v.vdate.size() + v.vmessage.size() + v.vmedia.size(); } case mtpc_messageForwarded: { const MTPDmessageForwarded &v(c_messageForwarded()); return v.vid.size() + v.vfwd_from_id.size() + v.vfwd_date.size() + v.vfrom_id.size() + v.vto_id.size() + v.vout.size() + v.vunread.size() + v.vdate.size() + v.vmessage.size() + v.vmedia.size(); } case mtpc_messageService: { const MTPDmessageService &v(c_messageService()); return v.vid.size() + v.vfrom_id.size() + v.vto_id.size() + v.vout.size() + v.vunread.size() + v.vdate.size() + v.vaction.size(); } } return 0; } inline mtpTypeId MTPmessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messageEmpty: _type = cons; { if (!data) setData(new MTPDmessageEmpty()); MTPDmessageEmpty &v(_messageEmpty()); v.vid.read(from, end); } break; case mtpc_message: _type = cons; { if (!data) setData(new MTPDmessage()); MTPDmessage &v(_message()); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vto_id.read(from, end); v.vout.read(from, end); v.vunread.read(from, end); v.vdate.read(from, end); v.vmessage.read(from, end); v.vmedia.read(from, end); } break; case mtpc_messageForwarded: _type = cons; { if (!data) setData(new MTPDmessageForwarded()); MTPDmessageForwarded &v(_messageForwarded()); v.vid.read(from, end); v.vfwd_from_id.read(from, end); v.vfwd_date.read(from, end); v.vfrom_id.read(from, end); v.vto_id.read(from, end); v.vout.read(from, end); v.vunread.read(from, end); v.vdate.read(from, end); v.vmessage.read(from, end); v.vmedia.read(from, end); } break; case mtpc_messageService: _type = cons; { if (!data) setData(new MTPDmessageService()); MTPDmessageService &v(_messageService()); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vto_id.read(from, end); v.vout.read(from, end); v.vunread.read(from, end); v.vdate.read(from, end); v.vaction.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessage"); } } inline void MTPmessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_messageEmpty: { const MTPDmessageEmpty &v(c_messageEmpty()); v.vid.write(to); } break; case mtpc_message: { const MTPDmessage &v(c_message()); v.vid.write(to); v.vfrom_id.write(to); v.vto_id.write(to); v.vout.write(to); v.vunread.write(to); v.vdate.write(to); v.vmessage.write(to); v.vmedia.write(to); } break; case mtpc_messageForwarded: { const MTPDmessageForwarded &v(c_messageForwarded()); v.vid.write(to); v.vfwd_from_id.write(to); v.vfwd_date.write(to); v.vfrom_id.write(to); v.vto_id.write(to); v.vout.write(to); v.vunread.write(to); v.vdate.write(to); v.vmessage.write(to); v.vmedia.write(to); } break; case mtpc_messageService: { const MTPDmessageService &v(c_messageService()); v.vid.write(to); v.vfrom_id.write(to); v.vto_id.write(to); v.vout.write(to); v.vunread.write(to); v.vdate.write(to); v.vaction.write(to); } break; } } inline MTPmessage::MTPmessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messageEmpty: setData(new MTPDmessageEmpty()); break; case mtpc_message: setData(new MTPDmessage()); break; case mtpc_messageForwarded: setData(new MTPDmessageForwarded()); break; case mtpc_messageService: setData(new MTPDmessageService()); break; default: throw mtpErrorBadTypeId(type, "MTPmessage"); } } inline MTPmessage::MTPmessage(MTPDmessageEmpty *_data) : mtpDataOwner(_data), _type(mtpc_messageEmpty) { } inline MTPmessage::MTPmessage(MTPDmessage *_data) : mtpDataOwner(_data), _type(mtpc_message) { } inline MTPmessage::MTPmessage(MTPDmessageForwarded *_data) : mtpDataOwner(_data), _type(mtpc_messageForwarded) { } inline MTPmessage::MTPmessage(MTPDmessageService *_data) : mtpDataOwner(_data), _type(mtpc_messageService) { } inline MTPmessage MTP_messageEmpty(MTPint _id) { return MTPmessage(new MTPDmessageEmpty(_id)); } inline MTPmessage MTP_message(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) { return MTPmessage(new MTPDmessage(_id, _from_id, _to_id, _out, _unread, _date, _message, _media)); } inline MTPmessage MTP_messageForwarded(MTPint _id, MTPint _fwd_from_id, MTPint _fwd_date, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) { return MTPmessage(new MTPDmessageForwarded(_id, _fwd_from_id, _fwd_date, _from_id, _to_id, _out, _unread, _date, _message, _media)); } inline MTPmessage MTP_messageService(MTPint _id, MTPint _from_id, const MTPPeer &_to_id, MTPBool _out, MTPBool _unread, MTPint _date, const MTPMessageAction &_action) { return MTPmessage(new MTPDmessageService(_id, _from_id, _to_id, _out, _unread, _date, _action)); } inline uint32 MTPmessageMedia::size() const { switch (_type) { case mtpc_messageMediaPhoto: { const MTPDmessageMediaPhoto &v(c_messageMediaPhoto()); return v.vphoto.size(); } case mtpc_messageMediaVideo: { const MTPDmessageMediaVideo &v(c_messageMediaVideo()); return v.vvideo.size(); } case mtpc_messageMediaGeo: { const MTPDmessageMediaGeo &v(c_messageMediaGeo()); return v.vgeo.size(); } case mtpc_messageMediaContact: { const MTPDmessageMediaContact &v(c_messageMediaContact()); return v.vphone_number.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vuser_id.size(); } case mtpc_messageMediaUnsupported: { const MTPDmessageMediaUnsupported &v(c_messageMediaUnsupported()); return v.vbytes.size(); } case mtpc_messageMediaDocument: { const MTPDmessageMediaDocument &v(c_messageMediaDocument()); return v.vdocument.size(); } case mtpc_messageMediaAudio: { const MTPDmessageMediaAudio &v(c_messageMediaAudio()); return v.vaudio.size(); } } return 0; } inline mtpTypeId MTPmessageMedia::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessageMedia::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messageMediaEmpty: _type = cons; break; case mtpc_messageMediaPhoto: _type = cons; { if (!data) setData(new MTPDmessageMediaPhoto()); MTPDmessageMediaPhoto &v(_messageMediaPhoto()); v.vphoto.read(from, end); } break; case mtpc_messageMediaVideo: _type = cons; { if (!data) setData(new MTPDmessageMediaVideo()); MTPDmessageMediaVideo &v(_messageMediaVideo()); v.vvideo.read(from, end); } break; case mtpc_messageMediaGeo: _type = cons; { if (!data) setData(new MTPDmessageMediaGeo()); MTPDmessageMediaGeo &v(_messageMediaGeo()); v.vgeo.read(from, end); } break; case mtpc_messageMediaContact: _type = cons; { if (!data) setData(new MTPDmessageMediaContact()); MTPDmessageMediaContact &v(_messageMediaContact()); v.vphone_number.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vuser_id.read(from, end); } break; case mtpc_messageMediaUnsupported: _type = cons; { if (!data) setData(new MTPDmessageMediaUnsupported()); MTPDmessageMediaUnsupported &v(_messageMediaUnsupported()); v.vbytes.read(from, end); } break; case mtpc_messageMediaDocument: _type = cons; { if (!data) setData(new MTPDmessageMediaDocument()); MTPDmessageMediaDocument &v(_messageMediaDocument()); v.vdocument.read(from, end); } break; case mtpc_messageMediaAudio: _type = cons; { if (!data) setData(new MTPDmessageMediaAudio()); MTPDmessageMediaAudio &v(_messageMediaAudio()); v.vaudio.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessageMedia"); } } inline void MTPmessageMedia::write(mtpBuffer &to) const { switch (_type) { case mtpc_messageMediaPhoto: { const MTPDmessageMediaPhoto &v(c_messageMediaPhoto()); v.vphoto.write(to); } break; case mtpc_messageMediaVideo: { const MTPDmessageMediaVideo &v(c_messageMediaVideo()); v.vvideo.write(to); } break; case mtpc_messageMediaGeo: { const MTPDmessageMediaGeo &v(c_messageMediaGeo()); v.vgeo.write(to); } break; case mtpc_messageMediaContact: { const MTPDmessageMediaContact &v(c_messageMediaContact()); v.vphone_number.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vuser_id.write(to); } break; case mtpc_messageMediaUnsupported: { const MTPDmessageMediaUnsupported &v(c_messageMediaUnsupported()); v.vbytes.write(to); } break; case mtpc_messageMediaDocument: { const MTPDmessageMediaDocument &v(c_messageMediaDocument()); v.vdocument.write(to); } break; case mtpc_messageMediaAudio: { const MTPDmessageMediaAudio &v(c_messageMediaAudio()); v.vaudio.write(to); } break; } } inline MTPmessageMedia::MTPmessageMedia(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messageMediaEmpty: break; case mtpc_messageMediaPhoto: setData(new MTPDmessageMediaPhoto()); break; case mtpc_messageMediaVideo: setData(new MTPDmessageMediaVideo()); break; case mtpc_messageMediaGeo: setData(new MTPDmessageMediaGeo()); break; case mtpc_messageMediaContact: setData(new MTPDmessageMediaContact()); break; case mtpc_messageMediaUnsupported: setData(new MTPDmessageMediaUnsupported()); break; case mtpc_messageMediaDocument: setData(new MTPDmessageMediaDocument()); break; case mtpc_messageMediaAudio: setData(new MTPDmessageMediaAudio()); break; default: throw mtpErrorBadTypeId(type, "MTPmessageMedia"); } } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaPhoto *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaPhoto) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaVideo *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaVideo) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaGeo *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaGeo) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaContact *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaContact) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaUnsupported *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaUnsupported) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaDocument *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaDocument) { } inline MTPmessageMedia::MTPmessageMedia(MTPDmessageMediaAudio *_data) : mtpDataOwner(_data), _type(mtpc_messageMediaAudio) { } inline MTPmessageMedia MTP_messageMediaEmpty() { return MTPmessageMedia(mtpc_messageMediaEmpty); } inline MTPmessageMedia MTP_messageMediaPhoto(const MTPPhoto &_photo) { return MTPmessageMedia(new MTPDmessageMediaPhoto(_photo)); } inline MTPmessageMedia MTP_messageMediaVideo(const MTPVideo &_video) { return MTPmessageMedia(new MTPDmessageMediaVideo(_video)); } inline MTPmessageMedia MTP_messageMediaGeo(const MTPGeoPoint &_geo) { return MTPmessageMedia(new MTPDmessageMediaGeo(_geo)); } inline MTPmessageMedia MTP_messageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id) { return MTPmessageMedia(new MTPDmessageMediaContact(_phone_number, _first_name, _last_name, _user_id)); } inline MTPmessageMedia MTP_messageMediaUnsupported(const MTPbytes &_bytes) { return MTPmessageMedia(new MTPDmessageMediaUnsupported(_bytes)); } inline MTPmessageMedia MTP_messageMediaDocument(const MTPDocument &_document) { return MTPmessageMedia(new MTPDmessageMediaDocument(_document)); } inline MTPmessageMedia MTP_messageMediaAudio(const MTPAudio &_audio) { return MTPmessageMedia(new MTPDmessageMediaAudio(_audio)); } inline uint32 MTPmessageAction::size() const { switch (_type) { case mtpc_messageActionChatCreate: { const MTPDmessageActionChatCreate &v(c_messageActionChatCreate()); return v.vtitle.size() + v.vusers.size(); } case mtpc_messageActionChatEditTitle: { const MTPDmessageActionChatEditTitle &v(c_messageActionChatEditTitle()); return v.vtitle.size(); } case mtpc_messageActionChatEditPhoto: { const MTPDmessageActionChatEditPhoto &v(c_messageActionChatEditPhoto()); return v.vphoto.size(); } case mtpc_messageActionChatAddUser: { const MTPDmessageActionChatAddUser &v(c_messageActionChatAddUser()); return v.vuser_id.size(); } case mtpc_messageActionChatDeleteUser: { const MTPDmessageActionChatDeleteUser &v(c_messageActionChatDeleteUser()); return v.vuser_id.size(); } case mtpc_messageActionGeoChatCreate: { const MTPDmessageActionGeoChatCreate &v(c_messageActionGeoChatCreate()); return v.vtitle.size() + v.vaddress.size(); } } return 0; } inline mtpTypeId MTPmessageAction::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessageAction::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messageActionEmpty: _type = cons; break; case mtpc_messageActionChatCreate: _type = cons; { if (!data) setData(new MTPDmessageActionChatCreate()); MTPDmessageActionChatCreate &v(_messageActionChatCreate()); v.vtitle.read(from, end); v.vusers.read(from, end); } break; case mtpc_messageActionChatEditTitle: _type = cons; { if (!data) setData(new MTPDmessageActionChatEditTitle()); MTPDmessageActionChatEditTitle &v(_messageActionChatEditTitle()); v.vtitle.read(from, end); } break; case mtpc_messageActionChatEditPhoto: _type = cons; { if (!data) setData(new MTPDmessageActionChatEditPhoto()); MTPDmessageActionChatEditPhoto &v(_messageActionChatEditPhoto()); v.vphoto.read(from, end); } break; case mtpc_messageActionChatDeletePhoto: _type = cons; break; case mtpc_messageActionChatAddUser: _type = cons; { if (!data) setData(new MTPDmessageActionChatAddUser()); MTPDmessageActionChatAddUser &v(_messageActionChatAddUser()); v.vuser_id.read(from, end); } break; case mtpc_messageActionChatDeleteUser: _type = cons; { if (!data) setData(new MTPDmessageActionChatDeleteUser()); MTPDmessageActionChatDeleteUser &v(_messageActionChatDeleteUser()); v.vuser_id.read(from, end); } break; case mtpc_messageActionGeoChatCreate: _type = cons; { if (!data) setData(new MTPDmessageActionGeoChatCreate()); MTPDmessageActionGeoChatCreate &v(_messageActionGeoChatCreate()); v.vtitle.read(from, end); v.vaddress.read(from, end); } break; case mtpc_messageActionGeoChatCheckin: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPmessageAction"); } } inline void MTPmessageAction::write(mtpBuffer &to) const { switch (_type) { case mtpc_messageActionChatCreate: { const MTPDmessageActionChatCreate &v(c_messageActionChatCreate()); v.vtitle.write(to); v.vusers.write(to); } break; case mtpc_messageActionChatEditTitle: { const MTPDmessageActionChatEditTitle &v(c_messageActionChatEditTitle()); v.vtitle.write(to); } break; case mtpc_messageActionChatEditPhoto: { const MTPDmessageActionChatEditPhoto &v(c_messageActionChatEditPhoto()); v.vphoto.write(to); } break; case mtpc_messageActionChatAddUser: { const MTPDmessageActionChatAddUser &v(c_messageActionChatAddUser()); v.vuser_id.write(to); } break; case mtpc_messageActionChatDeleteUser: { const MTPDmessageActionChatDeleteUser &v(c_messageActionChatDeleteUser()); v.vuser_id.write(to); } break; case mtpc_messageActionGeoChatCreate: { const MTPDmessageActionGeoChatCreate &v(c_messageActionGeoChatCreate()); v.vtitle.write(to); v.vaddress.write(to); } break; } } inline MTPmessageAction::MTPmessageAction(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messageActionEmpty: break; case mtpc_messageActionChatCreate: setData(new MTPDmessageActionChatCreate()); break; case mtpc_messageActionChatEditTitle: setData(new MTPDmessageActionChatEditTitle()); break; case mtpc_messageActionChatEditPhoto: setData(new MTPDmessageActionChatEditPhoto()); break; case mtpc_messageActionChatDeletePhoto: break; case mtpc_messageActionChatAddUser: setData(new MTPDmessageActionChatAddUser()); break; case mtpc_messageActionChatDeleteUser: setData(new MTPDmessageActionChatDeleteUser()); break; case mtpc_messageActionGeoChatCreate: setData(new MTPDmessageActionGeoChatCreate()); break; case mtpc_messageActionGeoChatCheckin: break; default: throw mtpErrorBadTypeId(type, "MTPmessageAction"); } } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionChatCreate *_data) : mtpDataOwner(_data), _type(mtpc_messageActionChatCreate) { } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionChatEditTitle *_data) : mtpDataOwner(_data), _type(mtpc_messageActionChatEditTitle) { } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionChatEditPhoto *_data) : mtpDataOwner(_data), _type(mtpc_messageActionChatEditPhoto) { } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionChatAddUser *_data) : mtpDataOwner(_data), _type(mtpc_messageActionChatAddUser) { } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionChatDeleteUser *_data) : mtpDataOwner(_data), _type(mtpc_messageActionChatDeleteUser) { } inline MTPmessageAction::MTPmessageAction(MTPDmessageActionGeoChatCreate *_data) : mtpDataOwner(_data), _type(mtpc_messageActionGeoChatCreate) { } inline MTPmessageAction MTP_messageActionEmpty() { return MTPmessageAction(mtpc_messageActionEmpty); } inline MTPmessageAction MTP_messageActionChatCreate(const MTPstring &_title, const MTPVector &_users) { return MTPmessageAction(new MTPDmessageActionChatCreate(_title, _users)); } inline MTPmessageAction MTP_messageActionChatEditTitle(const MTPstring &_title) { return MTPmessageAction(new MTPDmessageActionChatEditTitle(_title)); } inline MTPmessageAction MTP_messageActionChatEditPhoto(const MTPPhoto &_photo) { return MTPmessageAction(new MTPDmessageActionChatEditPhoto(_photo)); } inline MTPmessageAction MTP_messageActionChatDeletePhoto() { return MTPmessageAction(mtpc_messageActionChatDeletePhoto); } inline MTPmessageAction MTP_messageActionChatAddUser(MTPint _user_id) { return MTPmessageAction(new MTPDmessageActionChatAddUser(_user_id)); } inline MTPmessageAction MTP_messageActionChatDeleteUser(MTPint _user_id) { return MTPmessageAction(new MTPDmessageActionChatDeleteUser(_user_id)); } inline MTPmessageAction MTP_messageActionGeoChatCreate(const MTPstring &_title, const MTPstring &_address) { return MTPmessageAction(new MTPDmessageActionGeoChatCreate(_title, _address)); } inline MTPmessageAction MTP_messageActionGeoChatCheckin() { return MTPmessageAction(mtpc_messageActionGeoChatCheckin); } inline MTPdialog::MTPdialog() : mtpDataOwner(new MTPDdialog()) { } inline uint32 MTPdialog::size() const { const MTPDdialog &v(c_dialog()); return v.vpeer.size() + v.vtop_message.size() + v.vunread_count.size() + v.vnotify_settings.size(); } inline mtpTypeId MTPdialog::type() const { return mtpc_dialog; } inline void MTPdialog::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_dialog) throw mtpErrorUnexpected(cons, "MTPdialog"); if (!data) setData(new MTPDdialog()); MTPDdialog &v(_dialog()); v.vpeer.read(from, end); v.vtop_message.read(from, end); v.vunread_count.read(from, end); v.vnotify_settings.read(from, end); } inline void MTPdialog::write(mtpBuffer &to) const { const MTPDdialog &v(c_dialog()); v.vpeer.write(to); v.vtop_message.write(to); v.vunread_count.write(to); v.vnotify_settings.write(to); } inline MTPdialog::MTPdialog(MTPDdialog *_data) : mtpDataOwner(_data) { } inline MTPdialog MTP_dialog(const MTPPeer &_peer, MTPint _top_message, MTPint _unread_count, const MTPPeerNotifySettings &_notify_settings) { return MTPdialog(new MTPDdialog(_peer, _top_message, _unread_count, _notify_settings)); } inline uint32 MTPphoto::size() const { switch (_type) { case mtpc_photoEmpty: { const MTPDphotoEmpty &v(c_photoEmpty()); return v.vid.size(); } case mtpc_photo: { const MTPDphoto &v(c_photo()); return v.vid.size() + v.vaccess_hash.size() + v.vuser_id.size() + v.vdate.size() + v.vcaption.size() + v.vgeo.size() + v.vsizes.size(); } } return 0; } inline mtpTypeId MTPphoto::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPphoto::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_photoEmpty: _type = cons; { if (!data) setData(new MTPDphotoEmpty()); MTPDphotoEmpty &v(_photoEmpty()); v.vid.read(from, end); } break; case mtpc_photo: _type = cons; { if (!data) setData(new MTPDphoto()); MTPDphoto &v(_photo()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vuser_id.read(from, end); v.vdate.read(from, end); v.vcaption.read(from, end); v.vgeo.read(from, end); v.vsizes.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPphoto"); } } inline void MTPphoto::write(mtpBuffer &to) const { switch (_type) { case mtpc_photoEmpty: { const MTPDphotoEmpty &v(c_photoEmpty()); v.vid.write(to); } break; case mtpc_photo: { const MTPDphoto &v(c_photo()); v.vid.write(to); v.vaccess_hash.write(to); v.vuser_id.write(to); v.vdate.write(to); v.vcaption.write(to); v.vgeo.write(to); v.vsizes.write(to); } break; } } inline MTPphoto::MTPphoto(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_photoEmpty: setData(new MTPDphotoEmpty()); break; case mtpc_photo: setData(new MTPDphoto()); break; default: throw mtpErrorBadTypeId(type, "MTPphoto"); } } inline MTPphoto::MTPphoto(MTPDphotoEmpty *_data) : mtpDataOwner(_data), _type(mtpc_photoEmpty) { } inline MTPphoto::MTPphoto(MTPDphoto *_data) : mtpDataOwner(_data), _type(mtpc_photo) { } inline MTPphoto MTP_photoEmpty(const MTPlong &_id) { return MTPphoto(new MTPDphotoEmpty(_id)); } inline MTPphoto MTP_photo(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, const MTPGeoPoint &_geo, const MTPVector &_sizes) { return MTPphoto(new MTPDphoto(_id, _access_hash, _user_id, _date, _caption, _geo, _sizes)); } inline uint32 MTPphotoSize::size() const { switch (_type) { case mtpc_photoSizeEmpty: { const MTPDphotoSizeEmpty &v(c_photoSizeEmpty()); return v.vtype.size(); } case mtpc_photoSize: { const MTPDphotoSize &v(c_photoSize()); return v.vtype.size() + v.vlocation.size() + v.vw.size() + v.vh.size() + v.vsize.size(); } case mtpc_photoCachedSize: { const MTPDphotoCachedSize &v(c_photoCachedSize()); return v.vtype.size() + v.vlocation.size() + v.vw.size() + v.vh.size() + v.vbytes.size(); } } return 0; } inline mtpTypeId MTPphotoSize::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPphotoSize::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_photoSizeEmpty: _type = cons; { if (!data) setData(new MTPDphotoSizeEmpty()); MTPDphotoSizeEmpty &v(_photoSizeEmpty()); v.vtype.read(from, end); } break; case mtpc_photoSize: _type = cons; { if (!data) setData(new MTPDphotoSize()); MTPDphotoSize &v(_photoSize()); v.vtype.read(from, end); v.vlocation.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vsize.read(from, end); } break; case mtpc_photoCachedSize: _type = cons; { if (!data) setData(new MTPDphotoCachedSize()); MTPDphotoCachedSize &v(_photoCachedSize()); v.vtype.read(from, end); v.vlocation.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vbytes.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPphotoSize"); } } inline void MTPphotoSize::write(mtpBuffer &to) const { switch (_type) { case mtpc_photoSizeEmpty: { const MTPDphotoSizeEmpty &v(c_photoSizeEmpty()); v.vtype.write(to); } break; case mtpc_photoSize: { const MTPDphotoSize &v(c_photoSize()); v.vtype.write(to); v.vlocation.write(to); v.vw.write(to); v.vh.write(to); v.vsize.write(to); } break; case mtpc_photoCachedSize: { const MTPDphotoCachedSize &v(c_photoCachedSize()); v.vtype.write(to); v.vlocation.write(to); v.vw.write(to); v.vh.write(to); v.vbytes.write(to); } break; } } inline MTPphotoSize::MTPphotoSize(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_photoSizeEmpty: setData(new MTPDphotoSizeEmpty()); break; case mtpc_photoSize: setData(new MTPDphotoSize()); break; case mtpc_photoCachedSize: setData(new MTPDphotoCachedSize()); break; default: throw mtpErrorBadTypeId(type, "MTPphotoSize"); } } inline MTPphotoSize::MTPphotoSize(MTPDphotoSizeEmpty *_data) : mtpDataOwner(_data), _type(mtpc_photoSizeEmpty) { } inline MTPphotoSize::MTPphotoSize(MTPDphotoSize *_data) : mtpDataOwner(_data), _type(mtpc_photoSize) { } inline MTPphotoSize::MTPphotoSize(MTPDphotoCachedSize *_data) : mtpDataOwner(_data), _type(mtpc_photoCachedSize) { } inline MTPphotoSize MTP_photoSizeEmpty(const MTPstring &_type) { return MTPphotoSize(new MTPDphotoSizeEmpty(_type)); } inline MTPphotoSize MTP_photoSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, MTPint _size) { return MTPphotoSize(new MTPDphotoSize(_type, _location, _w, _h, _size)); } inline MTPphotoSize MTP_photoCachedSize(const MTPstring &_type, const MTPFileLocation &_location, MTPint _w, MTPint _h, const MTPbytes &_bytes) { return MTPphotoSize(new MTPDphotoCachedSize(_type, _location, _w, _h, _bytes)); } inline uint32 MTPvideo::size() const { switch (_type) { case mtpc_videoEmpty: { const MTPDvideoEmpty &v(c_videoEmpty()); return v.vid.size(); } case mtpc_video: { const MTPDvideo &v(c_video()); return v.vid.size() + v.vaccess_hash.size() + v.vuser_id.size() + v.vdate.size() + v.vcaption.size() + v.vduration.size() + v.vmime_type.size() + v.vsize.size() + v.vthumb.size() + v.vdc_id.size() + v.vw.size() + v.vh.size(); } } return 0; } inline mtpTypeId MTPvideo::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPvideo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_videoEmpty: _type = cons; { if (!data) setData(new MTPDvideoEmpty()); MTPDvideoEmpty &v(_videoEmpty()); v.vid.read(from, end); } break; case mtpc_video: _type = cons; { if (!data) setData(new MTPDvideo()); MTPDvideo &v(_video()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vuser_id.read(from, end); v.vdate.read(from, end); v.vcaption.read(from, end); v.vduration.read(from, end); v.vmime_type.read(from, end); v.vsize.read(from, end); v.vthumb.read(from, end); v.vdc_id.read(from, end); v.vw.read(from, end); v.vh.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPvideo"); } } inline void MTPvideo::write(mtpBuffer &to) const { switch (_type) { case mtpc_videoEmpty: { const MTPDvideoEmpty &v(c_videoEmpty()); v.vid.write(to); } break; case mtpc_video: { const MTPDvideo &v(c_video()); v.vid.write(to); v.vaccess_hash.write(to); v.vuser_id.write(to); v.vdate.write(to); v.vcaption.write(to); v.vduration.write(to); v.vmime_type.write(to); v.vsize.write(to); v.vthumb.write(to); v.vdc_id.write(to); v.vw.write(to); v.vh.write(to); } break; } } inline MTPvideo::MTPvideo(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_videoEmpty: setData(new MTPDvideoEmpty()); break; case mtpc_video: setData(new MTPDvideo()); break; default: throw mtpErrorBadTypeId(type, "MTPvideo"); } } inline MTPvideo::MTPvideo(MTPDvideoEmpty *_data) : mtpDataOwner(_data), _type(mtpc_videoEmpty) { } inline MTPvideo::MTPvideo(MTPDvideo *_data) : mtpDataOwner(_data), _type(mtpc_video) { } inline MTPvideo MTP_videoEmpty(const MTPlong &_id) { return MTPvideo(new MTPDvideoEmpty(_id)); } inline MTPvideo MTP_video(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_caption, MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id, MTPint _w, MTPint _h) { return MTPvideo(new MTPDvideo(_id, _access_hash, _user_id, _date, _caption, _duration, _mime_type, _size, _thumb, _dc_id, _w, _h)); } inline uint32 MTPgeoPoint::size() const { switch (_type) { case mtpc_geoPoint: { const MTPDgeoPoint &v(c_geoPoint()); return v.vlong.size() + v.vlat.size(); } } return 0; } inline mtpTypeId MTPgeoPoint::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPgeoPoint::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_geoPointEmpty: _type = cons; break; case mtpc_geoPoint: _type = cons; { if (!data) setData(new MTPDgeoPoint()); MTPDgeoPoint &v(_geoPoint()); v.vlong.read(from, end); v.vlat.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPgeoPoint"); } } inline void MTPgeoPoint::write(mtpBuffer &to) const { switch (_type) { case mtpc_geoPoint: { const MTPDgeoPoint &v(c_geoPoint()); v.vlong.write(to); v.vlat.write(to); } break; } } inline MTPgeoPoint::MTPgeoPoint(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_geoPointEmpty: break; case mtpc_geoPoint: setData(new MTPDgeoPoint()); break; default: throw mtpErrorBadTypeId(type, "MTPgeoPoint"); } } inline MTPgeoPoint::MTPgeoPoint(MTPDgeoPoint *_data) : mtpDataOwner(_data), _type(mtpc_geoPoint) { } inline MTPgeoPoint MTP_geoPointEmpty() { return MTPgeoPoint(mtpc_geoPointEmpty); } inline MTPgeoPoint MTP_geoPoint(const MTPdouble &_long, const MTPdouble &_lat) { return MTPgeoPoint(new MTPDgeoPoint(_long, _lat)); } inline MTPauth_checkedPhone::MTPauth_checkedPhone() : mtpDataOwner(new MTPDauth_checkedPhone()) { } inline uint32 MTPauth_checkedPhone::size() const { const MTPDauth_checkedPhone &v(c_auth_checkedPhone()); return v.vphone_registered.size() + v.vphone_invited.size(); } inline mtpTypeId MTPauth_checkedPhone::type() const { return mtpc_auth_checkedPhone; } inline void MTPauth_checkedPhone::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_auth_checkedPhone) throw mtpErrorUnexpected(cons, "MTPauth_checkedPhone"); if (!data) setData(new MTPDauth_checkedPhone()); MTPDauth_checkedPhone &v(_auth_checkedPhone()); v.vphone_registered.read(from, end); v.vphone_invited.read(from, end); } inline void MTPauth_checkedPhone::write(mtpBuffer &to) const { const MTPDauth_checkedPhone &v(c_auth_checkedPhone()); v.vphone_registered.write(to); v.vphone_invited.write(to); } inline MTPauth_checkedPhone::MTPauth_checkedPhone(MTPDauth_checkedPhone *_data) : mtpDataOwner(_data) { } inline MTPauth_checkedPhone MTP_auth_checkedPhone(MTPBool _phone_registered, MTPBool _phone_invited) { return MTPauth_checkedPhone(new MTPDauth_checkedPhone(_phone_registered, _phone_invited)); } inline MTPauth_sentCode::MTPauth_sentCode() : mtpDataOwner(new MTPDauth_sentCode()) { } inline uint32 MTPauth_sentCode::size() const { const MTPDauth_sentCode &v(c_auth_sentCode()); return v.vphone_registered.size() + v.vphone_code_hash.size() + v.vsend_call_timeout.size() + v.vis_password.size(); } inline mtpTypeId MTPauth_sentCode::type() const { return mtpc_auth_sentCode; } inline void MTPauth_sentCode::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_auth_sentCode) throw mtpErrorUnexpected(cons, "MTPauth_sentCode"); if (!data) setData(new MTPDauth_sentCode()); MTPDauth_sentCode &v(_auth_sentCode()); v.vphone_registered.read(from, end); v.vphone_code_hash.read(from, end); v.vsend_call_timeout.read(from, end); v.vis_password.read(from, end); } inline void MTPauth_sentCode::write(mtpBuffer &to) const { const MTPDauth_sentCode &v(c_auth_sentCode()); v.vphone_registered.write(to); v.vphone_code_hash.write(to); v.vsend_call_timeout.write(to); v.vis_password.write(to); } inline MTPauth_sentCode::MTPauth_sentCode(MTPDauth_sentCode *_data) : mtpDataOwner(_data) { } inline MTPauth_sentCode MTP_auth_sentCode(MTPBool _phone_registered, const MTPstring &_phone_code_hash, MTPint _send_call_timeout, MTPBool _is_password) { return MTPauth_sentCode(new MTPDauth_sentCode(_phone_registered, _phone_code_hash, _send_call_timeout, _is_password)); } inline MTPauth_authorization::MTPauth_authorization() : mtpDataOwner(new MTPDauth_authorization()) { } inline uint32 MTPauth_authorization::size() const { const MTPDauth_authorization &v(c_auth_authorization()); return v.vexpires.size() + v.vuser.size(); } inline mtpTypeId MTPauth_authorization::type() const { return mtpc_auth_authorization; } inline void MTPauth_authorization::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_auth_authorization) throw mtpErrorUnexpected(cons, "MTPauth_authorization"); if (!data) setData(new MTPDauth_authorization()); MTPDauth_authorization &v(_auth_authorization()); v.vexpires.read(from, end); v.vuser.read(from, end); } inline void MTPauth_authorization::write(mtpBuffer &to) const { const MTPDauth_authorization &v(c_auth_authorization()); v.vexpires.write(to); v.vuser.write(to); } inline MTPauth_authorization::MTPauth_authorization(MTPDauth_authorization *_data) : mtpDataOwner(_data) { } inline MTPauth_authorization MTP_auth_authorization(MTPint _expires, const MTPUser &_user) { return MTPauth_authorization(new MTPDauth_authorization(_expires, _user)); } inline MTPauth_exportedAuthorization::MTPauth_exportedAuthorization() : mtpDataOwner(new MTPDauth_exportedAuthorization()) { } inline uint32 MTPauth_exportedAuthorization::size() const { const MTPDauth_exportedAuthorization &v(c_auth_exportedAuthorization()); return v.vid.size() + v.vbytes.size(); } inline mtpTypeId MTPauth_exportedAuthorization::type() const { return mtpc_auth_exportedAuthorization; } inline void MTPauth_exportedAuthorization::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_auth_exportedAuthorization) throw mtpErrorUnexpected(cons, "MTPauth_exportedAuthorization"); if (!data) setData(new MTPDauth_exportedAuthorization()); MTPDauth_exportedAuthorization &v(_auth_exportedAuthorization()); v.vid.read(from, end); v.vbytes.read(from, end); } inline void MTPauth_exportedAuthorization::write(mtpBuffer &to) const { const MTPDauth_exportedAuthorization &v(c_auth_exportedAuthorization()); v.vid.write(to); v.vbytes.write(to); } inline MTPauth_exportedAuthorization::MTPauth_exportedAuthorization(MTPDauth_exportedAuthorization *_data) : mtpDataOwner(_data) { } inline MTPauth_exportedAuthorization MTP_auth_exportedAuthorization(MTPint _id, const MTPbytes &_bytes) { return MTPauth_exportedAuthorization(new MTPDauth_exportedAuthorization(_id, _bytes)); } inline uint32 MTPinputNotifyPeer::size() const { switch (_type) { case mtpc_inputNotifyPeer: { const MTPDinputNotifyPeer &v(c_inputNotifyPeer()); return v.vpeer.size(); } case mtpc_inputNotifyGeoChatPeer: { const MTPDinputNotifyGeoChatPeer &v(c_inputNotifyGeoChatPeer()); return v.vpeer.size(); } } return 0; } inline mtpTypeId MTPinputNotifyPeer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputNotifyPeer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputNotifyPeer: _type = cons; { if (!data) setData(new MTPDinputNotifyPeer()); MTPDinputNotifyPeer &v(_inputNotifyPeer()); v.vpeer.read(from, end); } break; case mtpc_inputNotifyUsers: _type = cons; break; case mtpc_inputNotifyChats: _type = cons; break; case mtpc_inputNotifyAll: _type = cons; break; case mtpc_inputNotifyGeoChatPeer: _type = cons; { if (!data) setData(new MTPDinputNotifyGeoChatPeer()); MTPDinputNotifyGeoChatPeer &v(_inputNotifyGeoChatPeer()); v.vpeer.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputNotifyPeer"); } } inline void MTPinputNotifyPeer::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputNotifyPeer: { const MTPDinputNotifyPeer &v(c_inputNotifyPeer()); v.vpeer.write(to); } break; case mtpc_inputNotifyGeoChatPeer: { const MTPDinputNotifyGeoChatPeer &v(c_inputNotifyGeoChatPeer()); v.vpeer.write(to); } break; } } inline MTPinputNotifyPeer::MTPinputNotifyPeer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputNotifyPeer: setData(new MTPDinputNotifyPeer()); break; case mtpc_inputNotifyUsers: break; case mtpc_inputNotifyChats: break; case mtpc_inputNotifyAll: break; case mtpc_inputNotifyGeoChatPeer: setData(new MTPDinputNotifyGeoChatPeer()); break; default: throw mtpErrorBadTypeId(type, "MTPinputNotifyPeer"); } } inline MTPinputNotifyPeer::MTPinputNotifyPeer(MTPDinputNotifyPeer *_data) : mtpDataOwner(_data), _type(mtpc_inputNotifyPeer) { } inline MTPinputNotifyPeer::MTPinputNotifyPeer(MTPDinputNotifyGeoChatPeer *_data) : mtpDataOwner(_data), _type(mtpc_inputNotifyGeoChatPeer) { } inline MTPinputNotifyPeer MTP_inputNotifyPeer(const MTPInputPeer &_peer) { return MTPinputNotifyPeer(new MTPDinputNotifyPeer(_peer)); } inline MTPinputNotifyPeer MTP_inputNotifyUsers() { return MTPinputNotifyPeer(mtpc_inputNotifyUsers); } inline MTPinputNotifyPeer MTP_inputNotifyChats() { return MTPinputNotifyPeer(mtpc_inputNotifyChats); } inline MTPinputNotifyPeer MTP_inputNotifyAll() { return MTPinputNotifyPeer(mtpc_inputNotifyAll); } inline MTPinputNotifyPeer MTP_inputNotifyGeoChatPeer(const MTPInputGeoChat &_peer) { return MTPinputNotifyPeer(new MTPDinputNotifyGeoChatPeer(_peer)); } inline uint32 MTPinputPeerNotifyEvents::size() const { return 0; } inline mtpTypeId MTPinputPeerNotifyEvents::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputPeerNotifyEvents::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { switch (cons) { case mtpc_inputPeerNotifyEventsEmpty: _type = cons; break; case mtpc_inputPeerNotifyEventsAll: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPinputPeerNotifyEvents"); } } inline void MTPinputPeerNotifyEvents::write(mtpBuffer &to) const { switch (_type) { } } inline MTPinputPeerNotifyEvents::MTPinputPeerNotifyEvents(mtpTypeId type) : _type(type) { switch (type) { case mtpc_inputPeerNotifyEventsEmpty: break; case mtpc_inputPeerNotifyEventsAll: break; default: throw mtpErrorBadTypeId(type, "MTPinputPeerNotifyEvents"); } } inline MTPinputPeerNotifyEvents MTP_inputPeerNotifyEventsEmpty() { return MTPinputPeerNotifyEvents(mtpc_inputPeerNotifyEventsEmpty); } inline MTPinputPeerNotifyEvents MTP_inputPeerNotifyEventsAll() { return MTPinputPeerNotifyEvents(mtpc_inputPeerNotifyEventsAll); } inline MTPinputPeerNotifySettings::MTPinputPeerNotifySettings() : mtpDataOwner(new MTPDinputPeerNotifySettings()) { } inline uint32 MTPinputPeerNotifySettings::size() const { const MTPDinputPeerNotifySettings &v(c_inputPeerNotifySettings()); return v.vmute_until.size() + v.vsound.size() + v.vshow_previews.size() + v.vevents_mask.size(); } inline mtpTypeId MTPinputPeerNotifySettings::type() const { return mtpc_inputPeerNotifySettings; } inline void MTPinputPeerNotifySettings::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_inputPeerNotifySettings) throw mtpErrorUnexpected(cons, "MTPinputPeerNotifySettings"); if (!data) setData(new MTPDinputPeerNotifySettings()); MTPDinputPeerNotifySettings &v(_inputPeerNotifySettings()); v.vmute_until.read(from, end); v.vsound.read(from, end); v.vshow_previews.read(from, end); v.vevents_mask.read(from, end); } inline void MTPinputPeerNotifySettings::write(mtpBuffer &to) const { const MTPDinputPeerNotifySettings &v(c_inputPeerNotifySettings()); v.vmute_until.write(to); v.vsound.write(to); v.vshow_previews.write(to); v.vevents_mask.write(to); } inline MTPinputPeerNotifySettings::MTPinputPeerNotifySettings(MTPDinputPeerNotifySettings *_data) : mtpDataOwner(_data) { } inline MTPinputPeerNotifySettings MTP_inputPeerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask) { return MTPinputPeerNotifySettings(new MTPDinputPeerNotifySettings(_mute_until, _sound, _show_previews, _events_mask)); } inline uint32 MTPpeerNotifyEvents::size() const { return 0; } inline mtpTypeId MTPpeerNotifyEvents::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPpeerNotifyEvents::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { switch (cons) { case mtpc_peerNotifyEventsEmpty: _type = cons; break; case mtpc_peerNotifyEventsAll: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPpeerNotifyEvents"); } } inline void MTPpeerNotifyEvents::write(mtpBuffer &to) const { switch (_type) { } } inline MTPpeerNotifyEvents::MTPpeerNotifyEvents(mtpTypeId type) : _type(type) { switch (type) { case mtpc_peerNotifyEventsEmpty: break; case mtpc_peerNotifyEventsAll: break; default: throw mtpErrorBadTypeId(type, "MTPpeerNotifyEvents"); } } inline MTPpeerNotifyEvents MTP_peerNotifyEventsEmpty() { return MTPpeerNotifyEvents(mtpc_peerNotifyEventsEmpty); } inline MTPpeerNotifyEvents MTP_peerNotifyEventsAll() { return MTPpeerNotifyEvents(mtpc_peerNotifyEventsAll); } inline uint32 MTPpeerNotifySettings::size() const { switch (_type) { case mtpc_peerNotifySettings: { const MTPDpeerNotifySettings &v(c_peerNotifySettings()); return v.vmute_until.size() + v.vsound.size() + v.vshow_previews.size() + v.vevents_mask.size(); } } return 0; } inline mtpTypeId MTPpeerNotifySettings::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPpeerNotifySettings::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_peerNotifySettingsEmpty: _type = cons; break; case mtpc_peerNotifySettings: _type = cons; { if (!data) setData(new MTPDpeerNotifySettings()); MTPDpeerNotifySettings &v(_peerNotifySettings()); v.vmute_until.read(from, end); v.vsound.read(from, end); v.vshow_previews.read(from, end); v.vevents_mask.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPpeerNotifySettings"); } } inline void MTPpeerNotifySettings::write(mtpBuffer &to) const { switch (_type) { case mtpc_peerNotifySettings: { const MTPDpeerNotifySettings &v(c_peerNotifySettings()); v.vmute_until.write(to); v.vsound.write(to); v.vshow_previews.write(to); v.vevents_mask.write(to); } break; } } inline MTPpeerNotifySettings::MTPpeerNotifySettings(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_peerNotifySettingsEmpty: break; case mtpc_peerNotifySettings: setData(new MTPDpeerNotifySettings()); break; default: throw mtpErrorBadTypeId(type, "MTPpeerNotifySettings"); } } inline MTPpeerNotifySettings::MTPpeerNotifySettings(MTPDpeerNotifySettings *_data) : mtpDataOwner(_data), _type(mtpc_peerNotifySettings) { } inline MTPpeerNotifySettings MTP_peerNotifySettingsEmpty() { return MTPpeerNotifySettings(mtpc_peerNotifySettingsEmpty); } inline MTPpeerNotifySettings MTP_peerNotifySettings(MTPint _mute_until, const MTPstring &_sound, MTPBool _show_previews, MTPint _events_mask) { return MTPpeerNotifySettings(new MTPDpeerNotifySettings(_mute_until, _sound, _show_previews, _events_mask)); } inline uint32 MTPwallPaper::size() const { switch (_type) { case mtpc_wallPaper: { const MTPDwallPaper &v(c_wallPaper()); return v.vid.size() + v.vtitle.size() + v.vsizes.size() + v.vcolor.size(); } case mtpc_wallPaperSolid: { const MTPDwallPaperSolid &v(c_wallPaperSolid()); return v.vid.size() + v.vtitle.size() + v.vbg_color.size() + v.vcolor.size(); } } return 0; } inline mtpTypeId MTPwallPaper::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPwallPaper::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_wallPaper: _type = cons; { if (!data) setData(new MTPDwallPaper()); MTPDwallPaper &v(_wallPaper()); v.vid.read(from, end); v.vtitle.read(from, end); v.vsizes.read(from, end); v.vcolor.read(from, end); } break; case mtpc_wallPaperSolid: _type = cons; { if (!data) setData(new MTPDwallPaperSolid()); MTPDwallPaperSolid &v(_wallPaperSolid()); v.vid.read(from, end); v.vtitle.read(from, end); v.vbg_color.read(from, end); v.vcolor.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPwallPaper"); } } inline void MTPwallPaper::write(mtpBuffer &to) const { switch (_type) { case mtpc_wallPaper: { const MTPDwallPaper &v(c_wallPaper()); v.vid.write(to); v.vtitle.write(to); v.vsizes.write(to); v.vcolor.write(to); } break; case mtpc_wallPaperSolid: { const MTPDwallPaperSolid &v(c_wallPaperSolid()); v.vid.write(to); v.vtitle.write(to); v.vbg_color.write(to); v.vcolor.write(to); } break; } } inline MTPwallPaper::MTPwallPaper(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_wallPaper: setData(new MTPDwallPaper()); break; case mtpc_wallPaperSolid: setData(new MTPDwallPaperSolid()); break; default: throw mtpErrorBadTypeId(type, "MTPwallPaper"); } } inline MTPwallPaper::MTPwallPaper(MTPDwallPaper *_data) : mtpDataOwner(_data), _type(mtpc_wallPaper) { } inline MTPwallPaper::MTPwallPaper(MTPDwallPaperSolid *_data) : mtpDataOwner(_data), _type(mtpc_wallPaperSolid) { } inline MTPwallPaper MTP_wallPaper(MTPint _id, const MTPstring &_title, const MTPVector &_sizes, MTPint _color) { return MTPwallPaper(new MTPDwallPaper(_id, _title, _sizes, _color)); } inline MTPwallPaper MTP_wallPaperSolid(MTPint _id, const MTPstring &_title, MTPint _bg_color, MTPint _color) { return MTPwallPaper(new MTPDwallPaperSolid(_id, _title, _bg_color, _color)); } inline MTPuserFull::MTPuserFull() : mtpDataOwner(new MTPDuserFull()) { } inline uint32 MTPuserFull::size() const { const MTPDuserFull &v(c_userFull()); return v.vuser.size() + v.vlink.size() + v.vprofile_photo.size() + v.vnotify_settings.size() + v.vblocked.size() + v.vreal_first_name.size() + v.vreal_last_name.size(); } inline mtpTypeId MTPuserFull::type() const { return mtpc_userFull; } inline void MTPuserFull::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_userFull) throw mtpErrorUnexpected(cons, "MTPuserFull"); if (!data) setData(new MTPDuserFull()); MTPDuserFull &v(_userFull()); v.vuser.read(from, end); v.vlink.read(from, end); v.vprofile_photo.read(from, end); v.vnotify_settings.read(from, end); v.vblocked.read(from, end); v.vreal_first_name.read(from, end); v.vreal_last_name.read(from, end); } inline void MTPuserFull::write(mtpBuffer &to) const { const MTPDuserFull &v(c_userFull()); v.vuser.write(to); v.vlink.write(to); v.vprofile_photo.write(to); v.vnotify_settings.write(to); v.vblocked.write(to); v.vreal_first_name.write(to); v.vreal_last_name.write(to); } inline MTPuserFull::MTPuserFull(MTPDuserFull *_data) : mtpDataOwner(_data) { } inline MTPuserFull MTP_userFull(const MTPUser &_user, const MTPcontacts_Link &_link, const MTPPhoto &_profile_photo, const MTPPeerNotifySettings &_notify_settings, MTPBool _blocked, const MTPstring &_real_first_name, const MTPstring &_real_last_name) { return MTPuserFull(new MTPDuserFull(_user, _link, _profile_photo, _notify_settings, _blocked, _real_first_name, _real_last_name)); } inline MTPcontact::MTPcontact() : mtpDataOwner(new MTPDcontact()) { } inline uint32 MTPcontact::size() const { const MTPDcontact &v(c_contact()); return v.vuser_id.size() + v.vmutual.size(); } inline mtpTypeId MTPcontact::type() const { return mtpc_contact; } inline void MTPcontact::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contact) throw mtpErrorUnexpected(cons, "MTPcontact"); if (!data) setData(new MTPDcontact()); MTPDcontact &v(_contact()); v.vuser_id.read(from, end); v.vmutual.read(from, end); } inline void MTPcontact::write(mtpBuffer &to) const { const MTPDcontact &v(c_contact()); v.vuser_id.write(to); v.vmutual.write(to); } inline MTPcontact::MTPcontact(MTPDcontact *_data) : mtpDataOwner(_data) { } inline MTPcontact MTP_contact(MTPint _user_id, MTPBool _mutual) { return MTPcontact(new MTPDcontact(_user_id, _mutual)); } inline MTPimportedContact::MTPimportedContact() : mtpDataOwner(new MTPDimportedContact()) { } inline uint32 MTPimportedContact::size() const { const MTPDimportedContact &v(c_importedContact()); return v.vuser_id.size() + v.vclient_id.size(); } inline mtpTypeId MTPimportedContact::type() const { return mtpc_importedContact; } inline void MTPimportedContact::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_importedContact) throw mtpErrorUnexpected(cons, "MTPimportedContact"); if (!data) setData(new MTPDimportedContact()); MTPDimportedContact &v(_importedContact()); v.vuser_id.read(from, end); v.vclient_id.read(from, end); } inline void MTPimportedContact::write(mtpBuffer &to) const { const MTPDimportedContact &v(c_importedContact()); v.vuser_id.write(to); v.vclient_id.write(to); } inline MTPimportedContact::MTPimportedContact(MTPDimportedContact *_data) : mtpDataOwner(_data) { } inline MTPimportedContact MTP_importedContact(MTPint _user_id, const MTPlong &_client_id) { return MTPimportedContact(new MTPDimportedContact(_user_id, _client_id)); } inline MTPcontactBlocked::MTPcontactBlocked() : mtpDataOwner(new MTPDcontactBlocked()) { } inline uint32 MTPcontactBlocked::size() const { const MTPDcontactBlocked &v(c_contactBlocked()); return v.vuser_id.size() + v.vdate.size(); } inline mtpTypeId MTPcontactBlocked::type() const { return mtpc_contactBlocked; } inline void MTPcontactBlocked::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contactBlocked) throw mtpErrorUnexpected(cons, "MTPcontactBlocked"); if (!data) setData(new MTPDcontactBlocked()); MTPDcontactBlocked &v(_contactBlocked()); v.vuser_id.read(from, end); v.vdate.read(from, end); } inline void MTPcontactBlocked::write(mtpBuffer &to) const { const MTPDcontactBlocked &v(c_contactBlocked()); v.vuser_id.write(to); v.vdate.write(to); } inline MTPcontactBlocked::MTPcontactBlocked(MTPDcontactBlocked *_data) : mtpDataOwner(_data) { } inline MTPcontactBlocked MTP_contactBlocked(MTPint _user_id, MTPint _date) { return MTPcontactBlocked(new MTPDcontactBlocked(_user_id, _date)); } inline MTPcontactFound::MTPcontactFound() : mtpDataOwner(new MTPDcontactFound()) { } inline uint32 MTPcontactFound::size() const { const MTPDcontactFound &v(c_contactFound()); return v.vuser_id.size(); } inline mtpTypeId MTPcontactFound::type() const { return mtpc_contactFound; } inline void MTPcontactFound::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contactFound) throw mtpErrorUnexpected(cons, "MTPcontactFound"); if (!data) setData(new MTPDcontactFound()); MTPDcontactFound &v(_contactFound()); v.vuser_id.read(from, end); } inline void MTPcontactFound::write(mtpBuffer &to) const { const MTPDcontactFound &v(c_contactFound()); v.vuser_id.write(to); } inline MTPcontactFound::MTPcontactFound(MTPDcontactFound *_data) : mtpDataOwner(_data) { } inline MTPcontactFound MTP_contactFound(MTPint _user_id) { return MTPcontactFound(new MTPDcontactFound(_user_id)); } inline MTPcontactSuggested::MTPcontactSuggested() : mtpDataOwner(new MTPDcontactSuggested()) { } inline uint32 MTPcontactSuggested::size() const { const MTPDcontactSuggested &v(c_contactSuggested()); return v.vuser_id.size() + v.vmutual_contacts.size(); } inline mtpTypeId MTPcontactSuggested::type() const { return mtpc_contactSuggested; } inline void MTPcontactSuggested::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contactSuggested) throw mtpErrorUnexpected(cons, "MTPcontactSuggested"); if (!data) setData(new MTPDcontactSuggested()); MTPDcontactSuggested &v(_contactSuggested()); v.vuser_id.read(from, end); v.vmutual_contacts.read(from, end); } inline void MTPcontactSuggested::write(mtpBuffer &to) const { const MTPDcontactSuggested &v(c_contactSuggested()); v.vuser_id.write(to); v.vmutual_contacts.write(to); } inline MTPcontactSuggested::MTPcontactSuggested(MTPDcontactSuggested *_data) : mtpDataOwner(_data) { } inline MTPcontactSuggested MTP_contactSuggested(MTPint _user_id, MTPint _mutual_contacts) { return MTPcontactSuggested(new MTPDcontactSuggested(_user_id, _mutual_contacts)); } inline MTPcontactStatus::MTPcontactStatus() : mtpDataOwner(new MTPDcontactStatus()) { } inline uint32 MTPcontactStatus::size() const { const MTPDcontactStatus &v(c_contactStatus()); return v.vuser_id.size() + v.vexpires.size(); } inline mtpTypeId MTPcontactStatus::type() const { return mtpc_contactStatus; } inline void MTPcontactStatus::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contactStatus) throw mtpErrorUnexpected(cons, "MTPcontactStatus"); if (!data) setData(new MTPDcontactStatus()); MTPDcontactStatus &v(_contactStatus()); v.vuser_id.read(from, end); v.vexpires.read(from, end); } inline void MTPcontactStatus::write(mtpBuffer &to) const { const MTPDcontactStatus &v(c_contactStatus()); v.vuser_id.write(to); v.vexpires.write(to); } inline MTPcontactStatus::MTPcontactStatus(MTPDcontactStatus *_data) : mtpDataOwner(_data) { } inline MTPcontactStatus MTP_contactStatus(MTPint _user_id, MTPint _expires) { return MTPcontactStatus(new MTPDcontactStatus(_user_id, _expires)); } inline MTPchatLocated::MTPchatLocated() : mtpDataOwner(new MTPDchatLocated()) { } inline uint32 MTPchatLocated::size() const { const MTPDchatLocated &v(c_chatLocated()); return v.vchat_id.size() + v.vdistance.size(); } inline mtpTypeId MTPchatLocated::type() const { return mtpc_chatLocated; } inline void MTPchatLocated::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_chatLocated) throw mtpErrorUnexpected(cons, "MTPchatLocated"); if (!data) setData(new MTPDchatLocated()); MTPDchatLocated &v(_chatLocated()); v.vchat_id.read(from, end); v.vdistance.read(from, end); } inline void MTPchatLocated::write(mtpBuffer &to) const { const MTPDchatLocated &v(c_chatLocated()); v.vchat_id.write(to); v.vdistance.write(to); } inline MTPchatLocated::MTPchatLocated(MTPDchatLocated *_data) : mtpDataOwner(_data) { } inline MTPchatLocated MTP_chatLocated(MTPint _chat_id, MTPint _distance) { return MTPchatLocated(new MTPDchatLocated(_chat_id, _distance)); } inline uint32 MTPcontacts_foreignLink::size() const { switch (_type) { case mtpc_contacts_foreignLinkRequested: { const MTPDcontacts_foreignLinkRequested &v(c_contacts_foreignLinkRequested()); return v.vhas_phone.size(); } } return 0; } inline mtpTypeId MTPcontacts_foreignLink::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPcontacts_foreignLink::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_contacts_foreignLinkUnknown: _type = cons; break; case mtpc_contacts_foreignLinkRequested: _type = cons; { if (!data) setData(new MTPDcontacts_foreignLinkRequested()); MTPDcontacts_foreignLinkRequested &v(_contacts_foreignLinkRequested()); v.vhas_phone.read(from, end); } break; case mtpc_contacts_foreignLinkMutual: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPcontacts_foreignLink"); } } inline void MTPcontacts_foreignLink::write(mtpBuffer &to) const { switch (_type) { case mtpc_contacts_foreignLinkRequested: { const MTPDcontacts_foreignLinkRequested &v(c_contacts_foreignLinkRequested()); v.vhas_phone.write(to); } break; } } inline MTPcontacts_foreignLink::MTPcontacts_foreignLink(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_contacts_foreignLinkUnknown: break; case mtpc_contacts_foreignLinkRequested: setData(new MTPDcontacts_foreignLinkRequested()); break; case mtpc_contacts_foreignLinkMutual: break; default: throw mtpErrorBadTypeId(type, "MTPcontacts_foreignLink"); } } inline MTPcontacts_foreignLink::MTPcontacts_foreignLink(MTPDcontacts_foreignLinkRequested *_data) : mtpDataOwner(_data), _type(mtpc_contacts_foreignLinkRequested) { } inline MTPcontacts_foreignLink MTP_contacts_foreignLinkUnknown() { return MTPcontacts_foreignLink(mtpc_contacts_foreignLinkUnknown); } inline MTPcontacts_foreignLink MTP_contacts_foreignLinkRequested(MTPBool _has_phone) { return MTPcontacts_foreignLink(new MTPDcontacts_foreignLinkRequested(_has_phone)); } inline MTPcontacts_foreignLink MTP_contacts_foreignLinkMutual() { return MTPcontacts_foreignLink(mtpc_contacts_foreignLinkMutual); } inline uint32 MTPcontacts_myLink::size() const { switch (_type) { case mtpc_contacts_myLinkRequested: { const MTPDcontacts_myLinkRequested &v(c_contacts_myLinkRequested()); return v.vcontact.size(); } } return 0; } inline mtpTypeId MTPcontacts_myLink::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPcontacts_myLink::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_contacts_myLinkEmpty: _type = cons; break; case mtpc_contacts_myLinkRequested: _type = cons; { if (!data) setData(new MTPDcontacts_myLinkRequested()); MTPDcontacts_myLinkRequested &v(_contacts_myLinkRequested()); v.vcontact.read(from, end); } break; case mtpc_contacts_myLinkContact: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPcontacts_myLink"); } } inline void MTPcontacts_myLink::write(mtpBuffer &to) const { switch (_type) { case mtpc_contacts_myLinkRequested: { const MTPDcontacts_myLinkRequested &v(c_contacts_myLinkRequested()); v.vcontact.write(to); } break; } } inline MTPcontacts_myLink::MTPcontacts_myLink(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_contacts_myLinkEmpty: break; case mtpc_contacts_myLinkRequested: setData(new MTPDcontacts_myLinkRequested()); break; case mtpc_contacts_myLinkContact: break; default: throw mtpErrorBadTypeId(type, "MTPcontacts_myLink"); } } inline MTPcontacts_myLink::MTPcontacts_myLink(MTPDcontacts_myLinkRequested *_data) : mtpDataOwner(_data), _type(mtpc_contacts_myLinkRequested) { } inline MTPcontacts_myLink MTP_contacts_myLinkEmpty() { return MTPcontacts_myLink(mtpc_contacts_myLinkEmpty); } inline MTPcontacts_myLink MTP_contacts_myLinkRequested(MTPBool _contact) { return MTPcontacts_myLink(new MTPDcontacts_myLinkRequested(_contact)); } inline MTPcontacts_myLink MTP_contacts_myLinkContact() { return MTPcontacts_myLink(mtpc_contacts_myLinkContact); } inline MTPcontacts_link::MTPcontacts_link() : mtpDataOwner(new MTPDcontacts_link()) { } inline uint32 MTPcontacts_link::size() const { const MTPDcontacts_link &v(c_contacts_link()); return v.vmy_link.size() + v.vforeign_link.size() + v.vuser.size(); } inline mtpTypeId MTPcontacts_link::type() const { return mtpc_contacts_link; } inline void MTPcontacts_link::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contacts_link) throw mtpErrorUnexpected(cons, "MTPcontacts_link"); if (!data) setData(new MTPDcontacts_link()); MTPDcontacts_link &v(_contacts_link()); v.vmy_link.read(from, end); v.vforeign_link.read(from, end); v.vuser.read(from, end); } inline void MTPcontacts_link::write(mtpBuffer &to) const { const MTPDcontacts_link &v(c_contacts_link()); v.vmy_link.write(to); v.vforeign_link.write(to); v.vuser.write(to); } inline MTPcontacts_link::MTPcontacts_link(MTPDcontacts_link *_data) : mtpDataOwner(_data) { } inline MTPcontacts_link MTP_contacts_link(const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link, const MTPUser &_user) { return MTPcontacts_link(new MTPDcontacts_link(_my_link, _foreign_link, _user)); } inline uint32 MTPcontacts_contacts::size() const { switch (_type) { case mtpc_contacts_contacts: { const MTPDcontacts_contacts &v(c_contacts_contacts()); return v.vcontacts.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPcontacts_contacts::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPcontacts_contacts::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_contacts_contacts: _type = cons; { if (!data) setData(new MTPDcontacts_contacts()); MTPDcontacts_contacts &v(_contacts_contacts()); v.vcontacts.read(from, end); v.vusers.read(from, end); } break; case mtpc_contacts_contactsNotModified: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPcontacts_contacts"); } } inline void MTPcontacts_contacts::write(mtpBuffer &to) const { switch (_type) { case mtpc_contacts_contacts: { const MTPDcontacts_contacts &v(c_contacts_contacts()); v.vcontacts.write(to); v.vusers.write(to); } break; } } inline MTPcontacts_contacts::MTPcontacts_contacts(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_contacts_contacts: setData(new MTPDcontacts_contacts()); break; case mtpc_contacts_contactsNotModified: break; default: throw mtpErrorBadTypeId(type, "MTPcontacts_contacts"); } } inline MTPcontacts_contacts::MTPcontacts_contacts(MTPDcontacts_contacts *_data) : mtpDataOwner(_data), _type(mtpc_contacts_contacts) { } inline MTPcontacts_contacts MTP_contacts_contacts(const MTPVector &_contacts, const MTPVector &_users) { return MTPcontacts_contacts(new MTPDcontacts_contacts(_contacts, _users)); } inline MTPcontacts_contacts MTP_contacts_contactsNotModified() { return MTPcontacts_contacts(mtpc_contacts_contactsNotModified); } inline MTPcontacts_importedContacts::MTPcontacts_importedContacts() : mtpDataOwner(new MTPDcontacts_importedContacts()) { } inline uint32 MTPcontacts_importedContacts::size() const { const MTPDcontacts_importedContacts &v(c_contacts_importedContacts()); return v.vimported.size() + v.vretry_contacts.size() + v.vusers.size(); } inline mtpTypeId MTPcontacts_importedContacts::type() const { return mtpc_contacts_importedContacts; } inline void MTPcontacts_importedContacts::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contacts_importedContacts) throw mtpErrorUnexpected(cons, "MTPcontacts_importedContacts"); if (!data) setData(new MTPDcontacts_importedContacts()); MTPDcontacts_importedContacts &v(_contacts_importedContacts()); v.vimported.read(from, end); v.vretry_contacts.read(from, end); v.vusers.read(from, end); } inline void MTPcontacts_importedContacts::write(mtpBuffer &to) const { const MTPDcontacts_importedContacts &v(c_contacts_importedContacts()); v.vimported.write(to); v.vretry_contacts.write(to); v.vusers.write(to); } inline MTPcontacts_importedContacts::MTPcontacts_importedContacts(MTPDcontacts_importedContacts *_data) : mtpDataOwner(_data) { } inline MTPcontacts_importedContacts MTP_contacts_importedContacts(const MTPVector &_imported, const MTPVector &_retry_contacts, const MTPVector &_users) { return MTPcontacts_importedContacts(new MTPDcontacts_importedContacts(_imported, _retry_contacts, _users)); } inline uint32 MTPcontacts_blocked::size() const { switch (_type) { case mtpc_contacts_blocked: { const MTPDcontacts_blocked &v(c_contacts_blocked()); return v.vblocked.size() + v.vusers.size(); } case mtpc_contacts_blockedSlice: { const MTPDcontacts_blockedSlice &v(c_contacts_blockedSlice()); return v.vcount.size() + v.vblocked.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPcontacts_blocked::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPcontacts_blocked::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_contacts_blocked: _type = cons; { if (!data) setData(new MTPDcontacts_blocked()); MTPDcontacts_blocked &v(_contacts_blocked()); v.vblocked.read(from, end); v.vusers.read(from, end); } break; case mtpc_contacts_blockedSlice: _type = cons; { if (!data) setData(new MTPDcontacts_blockedSlice()); MTPDcontacts_blockedSlice &v(_contacts_blockedSlice()); v.vcount.read(from, end); v.vblocked.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPcontacts_blocked"); } } inline void MTPcontacts_blocked::write(mtpBuffer &to) const { switch (_type) { case mtpc_contacts_blocked: { const MTPDcontacts_blocked &v(c_contacts_blocked()); v.vblocked.write(to); v.vusers.write(to); } break; case mtpc_contacts_blockedSlice: { const MTPDcontacts_blockedSlice &v(c_contacts_blockedSlice()); v.vcount.write(to); v.vblocked.write(to); v.vusers.write(to); } break; } } inline MTPcontacts_blocked::MTPcontacts_blocked(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_contacts_blocked: setData(new MTPDcontacts_blocked()); break; case mtpc_contacts_blockedSlice: setData(new MTPDcontacts_blockedSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPcontacts_blocked"); } } inline MTPcontacts_blocked::MTPcontacts_blocked(MTPDcontacts_blocked *_data) : mtpDataOwner(_data), _type(mtpc_contacts_blocked) { } inline MTPcontacts_blocked::MTPcontacts_blocked(MTPDcontacts_blockedSlice *_data) : mtpDataOwner(_data), _type(mtpc_contacts_blockedSlice) { } inline MTPcontacts_blocked MTP_contacts_blocked(const MTPVector &_blocked, const MTPVector &_users) { return MTPcontacts_blocked(new MTPDcontacts_blocked(_blocked, _users)); } inline MTPcontacts_blocked MTP_contacts_blockedSlice(MTPint _count, const MTPVector &_blocked, const MTPVector &_users) { return MTPcontacts_blocked(new MTPDcontacts_blockedSlice(_count, _blocked, _users)); } inline MTPcontacts_found::MTPcontacts_found() : mtpDataOwner(new MTPDcontacts_found()) { } inline uint32 MTPcontacts_found::size() const { const MTPDcontacts_found &v(c_contacts_found()); return v.vresults.size() + v.vusers.size(); } inline mtpTypeId MTPcontacts_found::type() const { return mtpc_contacts_found; } inline void MTPcontacts_found::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contacts_found) throw mtpErrorUnexpected(cons, "MTPcontacts_found"); if (!data) setData(new MTPDcontacts_found()); MTPDcontacts_found &v(_contacts_found()); v.vresults.read(from, end); v.vusers.read(from, end); } inline void MTPcontacts_found::write(mtpBuffer &to) const { const MTPDcontacts_found &v(c_contacts_found()); v.vresults.write(to); v.vusers.write(to); } inline MTPcontacts_found::MTPcontacts_found(MTPDcontacts_found *_data) : mtpDataOwner(_data) { } inline MTPcontacts_found MTP_contacts_found(const MTPVector &_results, const MTPVector &_users) { return MTPcontacts_found(new MTPDcontacts_found(_results, _users)); } inline MTPcontacts_suggested::MTPcontacts_suggested() : mtpDataOwner(new MTPDcontacts_suggested()) { } inline uint32 MTPcontacts_suggested::size() const { const MTPDcontacts_suggested &v(c_contacts_suggested()); return v.vresults.size() + v.vusers.size(); } inline mtpTypeId MTPcontacts_suggested::type() const { return mtpc_contacts_suggested; } inline void MTPcontacts_suggested::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_contacts_suggested) throw mtpErrorUnexpected(cons, "MTPcontacts_suggested"); if (!data) setData(new MTPDcontacts_suggested()); MTPDcontacts_suggested &v(_contacts_suggested()); v.vresults.read(from, end); v.vusers.read(from, end); } inline void MTPcontacts_suggested::write(mtpBuffer &to) const { const MTPDcontacts_suggested &v(c_contacts_suggested()); v.vresults.write(to); v.vusers.write(to); } inline MTPcontacts_suggested::MTPcontacts_suggested(MTPDcontacts_suggested *_data) : mtpDataOwner(_data) { } inline MTPcontacts_suggested MTP_contacts_suggested(const MTPVector &_results, const MTPVector &_users) { return MTPcontacts_suggested(new MTPDcontacts_suggested(_results, _users)); } inline uint32 MTPmessages_dialogs::size() const { switch (_type) { case mtpc_messages_dialogs: { const MTPDmessages_dialogs &v(c_messages_dialogs()); return v.vdialogs.size() + v.vmessages.size() + v.vchats.size() + v.vusers.size(); } case mtpc_messages_dialogsSlice: { const MTPDmessages_dialogsSlice &v(c_messages_dialogsSlice()); return v.vcount.size() + v.vdialogs.size() + v.vmessages.size() + v.vchats.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPmessages_dialogs::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_dialogs::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_dialogs: _type = cons; { if (!data) setData(new MTPDmessages_dialogs()); MTPDmessages_dialogs &v(_messages_dialogs()); v.vdialogs.read(from, end); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; case mtpc_messages_dialogsSlice: _type = cons; { if (!data) setData(new MTPDmessages_dialogsSlice()); MTPDmessages_dialogsSlice &v(_messages_dialogsSlice()); v.vcount.read(from, end); v.vdialogs.read(from, end); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_dialogs"); } } inline void MTPmessages_dialogs::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_dialogs: { const MTPDmessages_dialogs &v(c_messages_dialogs()); v.vdialogs.write(to); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; case mtpc_messages_dialogsSlice: { const MTPDmessages_dialogsSlice &v(c_messages_dialogsSlice()); v.vcount.write(to); v.vdialogs.write(to); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; } } inline MTPmessages_dialogs::MTPmessages_dialogs(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_dialogs: setData(new MTPDmessages_dialogs()); break; case mtpc_messages_dialogsSlice: setData(new MTPDmessages_dialogsSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_dialogs"); } } inline MTPmessages_dialogs::MTPmessages_dialogs(MTPDmessages_dialogs *_data) : mtpDataOwner(_data), _type(mtpc_messages_dialogs) { } inline MTPmessages_dialogs::MTPmessages_dialogs(MTPDmessages_dialogsSlice *_data) : mtpDataOwner(_data), _type(mtpc_messages_dialogsSlice) { } inline MTPmessages_dialogs MTP_messages_dialogs(const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_dialogs(new MTPDmessages_dialogs(_dialogs, _messages, _chats, _users)); } inline MTPmessages_dialogs MTP_messages_dialogsSlice(MTPint _count, const MTPVector &_dialogs, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_dialogs(new MTPDmessages_dialogsSlice(_count, _dialogs, _messages, _chats, _users)); } inline uint32 MTPmessages_messages::size() const { switch (_type) { case mtpc_messages_messages: { const MTPDmessages_messages &v(c_messages_messages()); return v.vmessages.size() + v.vchats.size() + v.vusers.size(); } case mtpc_messages_messagesSlice: { const MTPDmessages_messagesSlice &v(c_messages_messagesSlice()); return v.vcount.size() + v.vmessages.size() + v.vchats.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPmessages_messages::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_messages::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_messages: _type = cons; { if (!data) setData(new MTPDmessages_messages()); MTPDmessages_messages &v(_messages_messages()); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; case mtpc_messages_messagesSlice: _type = cons; { if (!data) setData(new MTPDmessages_messagesSlice()); MTPDmessages_messagesSlice &v(_messages_messagesSlice()); v.vcount.read(from, end); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_messages"); } } inline void MTPmessages_messages::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_messages: { const MTPDmessages_messages &v(c_messages_messages()); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; case mtpc_messages_messagesSlice: { const MTPDmessages_messagesSlice &v(c_messages_messagesSlice()); v.vcount.write(to); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; } } inline MTPmessages_messages::MTPmessages_messages(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_messages: setData(new MTPDmessages_messages()); break; case mtpc_messages_messagesSlice: setData(new MTPDmessages_messagesSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_messages"); } } inline MTPmessages_messages::MTPmessages_messages(MTPDmessages_messages *_data) : mtpDataOwner(_data), _type(mtpc_messages_messages) { } inline MTPmessages_messages::MTPmessages_messages(MTPDmessages_messagesSlice *_data) : mtpDataOwner(_data), _type(mtpc_messages_messagesSlice) { } inline MTPmessages_messages MTP_messages_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_messages(new MTPDmessages_messages(_messages, _chats, _users)); } inline MTPmessages_messages MTP_messages_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_messages(new MTPDmessages_messagesSlice(_count, _messages, _chats, _users)); } inline uint32 MTPmessages_message::size() const { switch (_type) { case mtpc_messages_message: { const MTPDmessages_message &v(c_messages_message()); return v.vmessage.size() + v.vchats.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPmessages_message::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_message::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_messageEmpty: _type = cons; break; case mtpc_messages_message: _type = cons; { if (!data) setData(new MTPDmessages_message()); MTPDmessages_message &v(_messages_message()); v.vmessage.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_message"); } } inline void MTPmessages_message::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_message: { const MTPDmessages_message &v(c_messages_message()); v.vmessage.write(to); v.vchats.write(to); v.vusers.write(to); } break; } } inline MTPmessages_message::MTPmessages_message(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_messageEmpty: break; case mtpc_messages_message: setData(new MTPDmessages_message()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_message"); } } inline MTPmessages_message::MTPmessages_message(MTPDmessages_message *_data) : mtpDataOwner(_data), _type(mtpc_messages_message) { } inline MTPmessages_message MTP_messages_messageEmpty() { return MTPmessages_message(mtpc_messages_messageEmpty); } inline MTPmessages_message MTP_messages_message(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_message(new MTPDmessages_message(_message, _chats, _users)); } inline uint32 MTPmessages_statedMessages::size() const { switch (_type) { case mtpc_messages_statedMessages: { const MTPDmessages_statedMessages &v(c_messages_statedMessages()); return v.vmessages.size() + v.vchats.size() + v.vusers.size() + v.vpts.size() + v.vseq.size(); } case mtpc_messages_statedMessagesLinks: { const MTPDmessages_statedMessagesLinks &v(c_messages_statedMessagesLinks()); return v.vmessages.size() + v.vchats.size() + v.vusers.size() + v.vlinks.size() + v.vpts.size() + v.vseq.size(); } } return 0; } inline mtpTypeId MTPmessages_statedMessages::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_statedMessages::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_statedMessages: _type = cons; { if (!data) setData(new MTPDmessages_statedMessages()); MTPDmessages_statedMessages &v(_messages_statedMessages()); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); } break; case mtpc_messages_statedMessagesLinks: _type = cons; { if (!data) setData(new MTPDmessages_statedMessagesLinks()); MTPDmessages_statedMessagesLinks &v(_messages_statedMessagesLinks()); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vlinks.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_statedMessages"); } } inline void MTPmessages_statedMessages::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_statedMessages: { const MTPDmessages_statedMessages &v(c_messages_statedMessages()); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); v.vpts.write(to); v.vseq.write(to); } break; case mtpc_messages_statedMessagesLinks: { const MTPDmessages_statedMessagesLinks &v(c_messages_statedMessagesLinks()); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); v.vlinks.write(to); v.vpts.write(to); v.vseq.write(to); } break; } } inline MTPmessages_statedMessages::MTPmessages_statedMessages(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_statedMessages: setData(new MTPDmessages_statedMessages()); break; case mtpc_messages_statedMessagesLinks: setData(new MTPDmessages_statedMessagesLinks()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_statedMessages"); } } inline MTPmessages_statedMessages::MTPmessages_statedMessages(MTPDmessages_statedMessages *_data) : mtpDataOwner(_data), _type(mtpc_messages_statedMessages) { } inline MTPmessages_statedMessages::MTPmessages_statedMessages(MTPDmessages_statedMessagesLinks *_data) : mtpDataOwner(_data), _type(mtpc_messages_statedMessagesLinks) { } inline MTPmessages_statedMessages MTP_messages_statedMessages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq) { return MTPmessages_statedMessages(new MTPDmessages_statedMessages(_messages, _chats, _users, _pts, _seq)); } inline MTPmessages_statedMessages MTP_messages_statedMessagesLinks(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq) { return MTPmessages_statedMessages(new MTPDmessages_statedMessagesLinks(_messages, _chats, _users, _links, _pts, _seq)); } inline uint32 MTPmessages_statedMessage::size() const { switch (_type) { case mtpc_messages_statedMessage: { const MTPDmessages_statedMessage &v(c_messages_statedMessage()); return v.vmessage.size() + v.vchats.size() + v.vusers.size() + v.vpts.size() + v.vseq.size(); } case mtpc_messages_statedMessageLink: { const MTPDmessages_statedMessageLink &v(c_messages_statedMessageLink()); return v.vmessage.size() + v.vchats.size() + v.vusers.size() + v.vlinks.size() + v.vpts.size() + v.vseq.size(); } } return 0; } inline mtpTypeId MTPmessages_statedMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_statedMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_statedMessage: _type = cons; { if (!data) setData(new MTPDmessages_statedMessage()); MTPDmessages_statedMessage &v(_messages_statedMessage()); v.vmessage.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); } break; case mtpc_messages_statedMessageLink: _type = cons; { if (!data) setData(new MTPDmessages_statedMessageLink()); MTPDmessages_statedMessageLink &v(_messages_statedMessageLink()); v.vmessage.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vlinks.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_statedMessage"); } } inline void MTPmessages_statedMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_statedMessage: { const MTPDmessages_statedMessage &v(c_messages_statedMessage()); v.vmessage.write(to); v.vchats.write(to); v.vusers.write(to); v.vpts.write(to); v.vseq.write(to); } break; case mtpc_messages_statedMessageLink: { const MTPDmessages_statedMessageLink &v(c_messages_statedMessageLink()); v.vmessage.write(to); v.vchats.write(to); v.vusers.write(to); v.vlinks.write(to); v.vpts.write(to); v.vseq.write(to); } break; } } inline MTPmessages_statedMessage::MTPmessages_statedMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_statedMessage: setData(new MTPDmessages_statedMessage()); break; case mtpc_messages_statedMessageLink: setData(new MTPDmessages_statedMessageLink()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_statedMessage"); } } inline MTPmessages_statedMessage::MTPmessages_statedMessage(MTPDmessages_statedMessage *_data) : mtpDataOwner(_data), _type(mtpc_messages_statedMessage) { } inline MTPmessages_statedMessage::MTPmessages_statedMessage(MTPDmessages_statedMessageLink *_data) : mtpDataOwner(_data), _type(mtpc_messages_statedMessageLink) { } inline MTPmessages_statedMessage MTP_messages_statedMessage(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _pts, MTPint _seq) { return MTPmessages_statedMessage(new MTPDmessages_statedMessage(_message, _chats, _users, _pts, _seq)); } inline MTPmessages_statedMessage MTP_messages_statedMessageLink(const MTPMessage &_message, const MTPVector &_chats, const MTPVector &_users, const MTPVector &_links, MTPint _pts, MTPint _seq) { return MTPmessages_statedMessage(new MTPDmessages_statedMessageLink(_message, _chats, _users, _links, _pts, _seq)); } inline uint32 MTPmessages_sentMessage::size() const { switch (_type) { case mtpc_messages_sentMessage: { const MTPDmessages_sentMessage &v(c_messages_sentMessage()); return v.vid.size() + v.vdate.size() + v.vpts.size() + v.vseq.size(); } case mtpc_messages_sentMessageLink: { const MTPDmessages_sentMessageLink &v(c_messages_sentMessageLink()); return v.vid.size() + v.vdate.size() + v.vpts.size() + v.vseq.size() + v.vlinks.size(); } } return 0; } inline mtpTypeId MTPmessages_sentMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_sentMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_sentMessage: _type = cons; { if (!data) setData(new MTPDmessages_sentMessage()); MTPDmessages_sentMessage &v(_messages_sentMessage()); v.vid.read(from, end); v.vdate.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); } break; case mtpc_messages_sentMessageLink: _type = cons; { if (!data) setData(new MTPDmessages_sentMessageLink()); MTPDmessages_sentMessageLink &v(_messages_sentMessageLink()); v.vid.read(from, end); v.vdate.read(from, end); v.vpts.read(from, end); v.vseq.read(from, end); v.vlinks.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_sentMessage"); } } inline void MTPmessages_sentMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_sentMessage: { const MTPDmessages_sentMessage &v(c_messages_sentMessage()); v.vid.write(to); v.vdate.write(to); v.vpts.write(to); v.vseq.write(to); } break; case mtpc_messages_sentMessageLink: { const MTPDmessages_sentMessageLink &v(c_messages_sentMessageLink()); v.vid.write(to); v.vdate.write(to); v.vpts.write(to); v.vseq.write(to); v.vlinks.write(to); } break; } } inline MTPmessages_sentMessage::MTPmessages_sentMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_sentMessage: setData(new MTPDmessages_sentMessage()); break; case mtpc_messages_sentMessageLink: setData(new MTPDmessages_sentMessageLink()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_sentMessage"); } } inline MTPmessages_sentMessage::MTPmessages_sentMessage(MTPDmessages_sentMessage *_data) : mtpDataOwner(_data), _type(mtpc_messages_sentMessage) { } inline MTPmessages_sentMessage::MTPmessages_sentMessage(MTPDmessages_sentMessageLink *_data) : mtpDataOwner(_data), _type(mtpc_messages_sentMessageLink) { } inline MTPmessages_sentMessage MTP_messages_sentMessage(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq) { return MTPmessages_sentMessage(new MTPDmessages_sentMessage(_id, _date, _pts, _seq)); } inline MTPmessages_sentMessage MTP_messages_sentMessageLink(MTPint _id, MTPint _date, MTPint _pts, MTPint _seq, const MTPVector &_links) { return MTPmessages_sentMessage(new MTPDmessages_sentMessageLink(_id, _date, _pts, _seq, _links)); } inline MTPmessages_chat::MTPmessages_chat() : mtpDataOwner(new MTPDmessages_chat()) { } inline uint32 MTPmessages_chat::size() const { const MTPDmessages_chat &v(c_messages_chat()); return v.vchat.size() + v.vusers.size(); } inline mtpTypeId MTPmessages_chat::type() const { return mtpc_messages_chat; } inline void MTPmessages_chat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_messages_chat) throw mtpErrorUnexpected(cons, "MTPmessages_chat"); if (!data) setData(new MTPDmessages_chat()); MTPDmessages_chat &v(_messages_chat()); v.vchat.read(from, end); v.vusers.read(from, end); } inline void MTPmessages_chat::write(mtpBuffer &to) const { const MTPDmessages_chat &v(c_messages_chat()); v.vchat.write(to); v.vusers.write(to); } inline MTPmessages_chat::MTPmessages_chat(MTPDmessages_chat *_data) : mtpDataOwner(_data) { } inline MTPmessages_chat MTP_messages_chat(const MTPChat &_chat, const MTPVector &_users) { return MTPmessages_chat(new MTPDmessages_chat(_chat, _users)); } inline MTPmessages_chats::MTPmessages_chats() : mtpDataOwner(new MTPDmessages_chats()) { } inline uint32 MTPmessages_chats::size() const { const MTPDmessages_chats &v(c_messages_chats()); return v.vchats.size() + v.vusers.size(); } inline mtpTypeId MTPmessages_chats::type() const { return mtpc_messages_chats; } inline void MTPmessages_chats::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_messages_chats) throw mtpErrorUnexpected(cons, "MTPmessages_chats"); if (!data) setData(new MTPDmessages_chats()); MTPDmessages_chats &v(_messages_chats()); v.vchats.read(from, end); v.vusers.read(from, end); } inline void MTPmessages_chats::write(mtpBuffer &to) const { const MTPDmessages_chats &v(c_messages_chats()); v.vchats.write(to); v.vusers.write(to); } inline MTPmessages_chats::MTPmessages_chats(MTPDmessages_chats *_data) : mtpDataOwner(_data) { } inline MTPmessages_chats MTP_messages_chats(const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_chats(new MTPDmessages_chats(_chats, _users)); } inline MTPmessages_chatFull::MTPmessages_chatFull() : mtpDataOwner(new MTPDmessages_chatFull()) { } inline uint32 MTPmessages_chatFull::size() const { const MTPDmessages_chatFull &v(c_messages_chatFull()); return v.vfull_chat.size() + v.vchats.size() + v.vusers.size(); } inline mtpTypeId MTPmessages_chatFull::type() const { return mtpc_messages_chatFull; } inline void MTPmessages_chatFull::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_messages_chatFull) throw mtpErrorUnexpected(cons, "MTPmessages_chatFull"); if (!data) setData(new MTPDmessages_chatFull()); MTPDmessages_chatFull &v(_messages_chatFull()); v.vfull_chat.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } inline void MTPmessages_chatFull::write(mtpBuffer &to) const { const MTPDmessages_chatFull &v(c_messages_chatFull()); v.vfull_chat.write(to); v.vchats.write(to); v.vusers.write(to); } inline MTPmessages_chatFull::MTPmessages_chatFull(MTPDmessages_chatFull *_data) : mtpDataOwner(_data) { } inline MTPmessages_chatFull MTP_messages_chatFull(const MTPChatFull &_full_chat, const MTPVector &_chats, const MTPVector &_users) { return MTPmessages_chatFull(new MTPDmessages_chatFull(_full_chat, _chats, _users)); } inline MTPmessages_affectedHistory::MTPmessages_affectedHistory() : mtpDataOwner(new MTPDmessages_affectedHistory()) { } inline uint32 MTPmessages_affectedHistory::size() const { const MTPDmessages_affectedHistory &v(c_messages_affectedHistory()); return v.vpts.size() + v.vseq.size() + v.voffset.size(); } inline mtpTypeId MTPmessages_affectedHistory::type() const { return mtpc_messages_affectedHistory; } inline void MTPmessages_affectedHistory::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_messages_affectedHistory) throw mtpErrorUnexpected(cons, "MTPmessages_affectedHistory"); if (!data) setData(new MTPDmessages_affectedHistory()); MTPDmessages_affectedHistory &v(_messages_affectedHistory()); v.vpts.read(from, end); v.vseq.read(from, end); v.voffset.read(from, end); } inline void MTPmessages_affectedHistory::write(mtpBuffer &to) const { const MTPDmessages_affectedHistory &v(c_messages_affectedHistory()); v.vpts.write(to); v.vseq.write(to); v.voffset.write(to); } inline MTPmessages_affectedHistory::MTPmessages_affectedHistory(MTPDmessages_affectedHistory *_data) : mtpDataOwner(_data) { } inline MTPmessages_affectedHistory MTP_messages_affectedHistory(MTPint _pts, MTPint _seq, MTPint _offset) { return MTPmessages_affectedHistory(new MTPDmessages_affectedHistory(_pts, _seq, _offset)); } inline uint32 MTPmessagesFilter::size() const { return 0; } inline mtpTypeId MTPmessagesFilter::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessagesFilter::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { switch (cons) { case mtpc_inputMessagesFilterEmpty: _type = cons; break; case mtpc_inputMessagesFilterPhotos: _type = cons; break; case mtpc_inputMessagesFilterVideo: _type = cons; break; case mtpc_inputMessagesFilterPhotoVideo: _type = cons; break; case mtpc_inputMessagesFilterDocument: _type = cons; break; case mtpc_inputMessagesFilterAudio: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPmessagesFilter"); } } inline void MTPmessagesFilter::write(mtpBuffer &to) const { switch (_type) { } } inline MTPmessagesFilter::MTPmessagesFilter(mtpTypeId type) : _type(type) { switch (type) { case mtpc_inputMessagesFilterEmpty: break; case mtpc_inputMessagesFilterPhotos: break; case mtpc_inputMessagesFilterVideo: break; case mtpc_inputMessagesFilterPhotoVideo: break; case mtpc_inputMessagesFilterDocument: break; case mtpc_inputMessagesFilterAudio: break; default: throw mtpErrorBadTypeId(type, "MTPmessagesFilter"); } } inline MTPmessagesFilter MTP_inputMessagesFilterEmpty() { return MTPmessagesFilter(mtpc_inputMessagesFilterEmpty); } inline MTPmessagesFilter MTP_inputMessagesFilterPhotos() { return MTPmessagesFilter(mtpc_inputMessagesFilterPhotos); } inline MTPmessagesFilter MTP_inputMessagesFilterVideo() { return MTPmessagesFilter(mtpc_inputMessagesFilterVideo); } inline MTPmessagesFilter MTP_inputMessagesFilterPhotoVideo() { return MTPmessagesFilter(mtpc_inputMessagesFilterPhotoVideo); } inline MTPmessagesFilter MTP_inputMessagesFilterDocument() { return MTPmessagesFilter(mtpc_inputMessagesFilterDocument); } inline MTPmessagesFilter MTP_inputMessagesFilterAudio() { return MTPmessagesFilter(mtpc_inputMessagesFilterAudio); } inline uint32 MTPupdate::size() const { switch (_type) { case mtpc_updateNewMessage: { const MTPDupdateNewMessage &v(c_updateNewMessage()); return v.vmessage.size() + v.vpts.size(); } case mtpc_updateMessageID: { const MTPDupdateMessageID &v(c_updateMessageID()); return v.vid.size() + v.vrandom_id.size(); } case mtpc_updateReadMessages: { const MTPDupdateReadMessages &v(c_updateReadMessages()); return v.vmessages.size() + v.vpts.size(); } case mtpc_updateDeleteMessages: { const MTPDupdateDeleteMessages &v(c_updateDeleteMessages()); return v.vmessages.size() + v.vpts.size(); } case mtpc_updateRestoreMessages: { const MTPDupdateRestoreMessages &v(c_updateRestoreMessages()); return v.vmessages.size() + v.vpts.size(); } case mtpc_updateUserTyping: { const MTPDupdateUserTyping &v(c_updateUserTyping()); return v.vuser_id.size(); } case mtpc_updateChatUserTyping: { const MTPDupdateChatUserTyping &v(c_updateChatUserTyping()); return v.vchat_id.size() + v.vuser_id.size(); } case mtpc_updateChatParticipants: { const MTPDupdateChatParticipants &v(c_updateChatParticipants()); return v.vparticipants.size(); } case mtpc_updateUserStatus: { const MTPDupdateUserStatus &v(c_updateUserStatus()); return v.vuser_id.size() + v.vstatus.size(); } case mtpc_updateUserName: { const MTPDupdateUserName &v(c_updateUserName()); return v.vuser_id.size() + v.vfirst_name.size() + v.vlast_name.size(); } case mtpc_updateUserPhoto: { const MTPDupdateUserPhoto &v(c_updateUserPhoto()); return v.vuser_id.size() + v.vdate.size() + v.vphoto.size() + v.vprevious.size(); } case mtpc_updateContactRegistered: { const MTPDupdateContactRegistered &v(c_updateContactRegistered()); return v.vuser_id.size() + v.vdate.size(); } case mtpc_updateContactLink: { const MTPDupdateContactLink &v(c_updateContactLink()); return v.vuser_id.size() + v.vmy_link.size() + v.vforeign_link.size(); } case mtpc_updateActivation: { const MTPDupdateActivation &v(c_updateActivation()); return v.vuser_id.size(); } case mtpc_updateNewAuthorization: { const MTPDupdateNewAuthorization &v(c_updateNewAuthorization()); return v.vauth_key_id.size() + v.vdate.size() + v.vdevice.size() + v.vlocation.size(); } case mtpc_updateNewGeoChatMessage: { const MTPDupdateNewGeoChatMessage &v(c_updateNewGeoChatMessage()); return v.vmessage.size(); } case mtpc_updateNewEncryptedMessage: { const MTPDupdateNewEncryptedMessage &v(c_updateNewEncryptedMessage()); return v.vmessage.size() + v.vqts.size(); } case mtpc_updateEncryptedChatTyping: { const MTPDupdateEncryptedChatTyping &v(c_updateEncryptedChatTyping()); return v.vchat_id.size(); } case mtpc_updateEncryption: { const MTPDupdateEncryption &v(c_updateEncryption()); return v.vchat.size() + v.vdate.size(); } case mtpc_updateEncryptedMessagesRead: { const MTPDupdateEncryptedMessagesRead &v(c_updateEncryptedMessagesRead()); return v.vchat_id.size() + v.vmax_date.size() + v.vdate.size(); } case mtpc_updateChatParticipantAdd: { const MTPDupdateChatParticipantAdd &v(c_updateChatParticipantAdd()); return v.vchat_id.size() + v.vuser_id.size() + v.vinviter_id.size() + v.vversion.size(); } case mtpc_updateChatParticipantDelete: { const MTPDupdateChatParticipantDelete &v(c_updateChatParticipantDelete()); return v.vchat_id.size() + v.vuser_id.size() + v.vversion.size(); } case mtpc_updateDcOptions: { const MTPDupdateDcOptions &v(c_updateDcOptions()); return v.vdc_options.size(); } case mtpc_updateUserBlocked: { const MTPDupdateUserBlocked &v(c_updateUserBlocked()); return v.vuser_id.size() + v.vblocked.size(); } case mtpc_updateNotifySettings: { const MTPDupdateNotifySettings &v(c_updateNotifySettings()); return v.vpeer.size() + v.vnotify_settings.size(); } } return 0; } inline mtpTypeId MTPupdate::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPupdate::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_updateNewMessage: _type = cons; { if (!data) setData(new MTPDupdateNewMessage()); MTPDupdateNewMessage &v(_updateNewMessage()); v.vmessage.read(from, end); v.vpts.read(from, end); } break; case mtpc_updateMessageID: _type = cons; { if (!data) setData(new MTPDupdateMessageID()); MTPDupdateMessageID &v(_updateMessageID()); v.vid.read(from, end); v.vrandom_id.read(from, end); } break; case mtpc_updateReadMessages: _type = cons; { if (!data) setData(new MTPDupdateReadMessages()); MTPDupdateReadMessages &v(_updateReadMessages()); v.vmessages.read(from, end); v.vpts.read(from, end); } break; case mtpc_updateDeleteMessages: _type = cons; { if (!data) setData(new MTPDupdateDeleteMessages()); MTPDupdateDeleteMessages &v(_updateDeleteMessages()); v.vmessages.read(from, end); v.vpts.read(from, end); } break; case mtpc_updateRestoreMessages: _type = cons; { if (!data) setData(new MTPDupdateRestoreMessages()); MTPDupdateRestoreMessages &v(_updateRestoreMessages()); v.vmessages.read(from, end); v.vpts.read(from, end); } break; case mtpc_updateUserTyping: _type = cons; { if (!data) setData(new MTPDupdateUserTyping()); MTPDupdateUserTyping &v(_updateUserTyping()); v.vuser_id.read(from, end); } break; case mtpc_updateChatUserTyping: _type = cons; { if (!data) setData(new MTPDupdateChatUserTyping()); MTPDupdateChatUserTyping &v(_updateChatUserTyping()); v.vchat_id.read(from, end); v.vuser_id.read(from, end); } break; case mtpc_updateChatParticipants: _type = cons; { if (!data) setData(new MTPDupdateChatParticipants()); MTPDupdateChatParticipants &v(_updateChatParticipants()); v.vparticipants.read(from, end); } break; case mtpc_updateUserStatus: _type = cons; { if (!data) setData(new MTPDupdateUserStatus()); MTPDupdateUserStatus &v(_updateUserStatus()); v.vuser_id.read(from, end); v.vstatus.read(from, end); } break; case mtpc_updateUserName: _type = cons; { if (!data) setData(new MTPDupdateUserName()); MTPDupdateUserName &v(_updateUserName()); v.vuser_id.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); } break; case mtpc_updateUserPhoto: _type = cons; { if (!data) setData(new MTPDupdateUserPhoto()); MTPDupdateUserPhoto &v(_updateUserPhoto()); v.vuser_id.read(from, end); v.vdate.read(from, end); v.vphoto.read(from, end); v.vprevious.read(from, end); } break; case mtpc_updateContactRegistered: _type = cons; { if (!data) setData(new MTPDupdateContactRegistered()); MTPDupdateContactRegistered &v(_updateContactRegistered()); v.vuser_id.read(from, end); v.vdate.read(from, end); } break; case mtpc_updateContactLink: _type = cons; { if (!data) setData(new MTPDupdateContactLink()); MTPDupdateContactLink &v(_updateContactLink()); v.vuser_id.read(from, end); v.vmy_link.read(from, end); v.vforeign_link.read(from, end); } break; case mtpc_updateActivation: _type = cons; { if (!data) setData(new MTPDupdateActivation()); MTPDupdateActivation &v(_updateActivation()); v.vuser_id.read(from, end); } break; case mtpc_updateNewAuthorization: _type = cons; { if (!data) setData(new MTPDupdateNewAuthorization()); MTPDupdateNewAuthorization &v(_updateNewAuthorization()); v.vauth_key_id.read(from, end); v.vdate.read(from, end); v.vdevice.read(from, end); v.vlocation.read(from, end); } break; case mtpc_updateNewGeoChatMessage: _type = cons; { if (!data) setData(new MTPDupdateNewGeoChatMessage()); MTPDupdateNewGeoChatMessage &v(_updateNewGeoChatMessage()); v.vmessage.read(from, end); } break; case mtpc_updateNewEncryptedMessage: _type = cons; { if (!data) setData(new MTPDupdateNewEncryptedMessage()); MTPDupdateNewEncryptedMessage &v(_updateNewEncryptedMessage()); v.vmessage.read(from, end); v.vqts.read(from, end); } break; case mtpc_updateEncryptedChatTyping: _type = cons; { if (!data) setData(new MTPDupdateEncryptedChatTyping()); MTPDupdateEncryptedChatTyping &v(_updateEncryptedChatTyping()); v.vchat_id.read(from, end); } break; case mtpc_updateEncryption: _type = cons; { if (!data) setData(new MTPDupdateEncryption()); MTPDupdateEncryption &v(_updateEncryption()); v.vchat.read(from, end); v.vdate.read(from, end); } break; case mtpc_updateEncryptedMessagesRead: _type = cons; { if (!data) setData(new MTPDupdateEncryptedMessagesRead()); MTPDupdateEncryptedMessagesRead &v(_updateEncryptedMessagesRead()); v.vchat_id.read(from, end); v.vmax_date.read(from, end); v.vdate.read(from, end); } break; case mtpc_updateChatParticipantAdd: _type = cons; { if (!data) setData(new MTPDupdateChatParticipantAdd()); MTPDupdateChatParticipantAdd &v(_updateChatParticipantAdd()); v.vchat_id.read(from, end); v.vuser_id.read(from, end); v.vinviter_id.read(from, end); v.vversion.read(from, end); } break; case mtpc_updateChatParticipantDelete: _type = cons; { if (!data) setData(new MTPDupdateChatParticipantDelete()); MTPDupdateChatParticipantDelete &v(_updateChatParticipantDelete()); v.vchat_id.read(from, end); v.vuser_id.read(from, end); v.vversion.read(from, end); } break; case mtpc_updateDcOptions: _type = cons; { if (!data) setData(new MTPDupdateDcOptions()); MTPDupdateDcOptions &v(_updateDcOptions()); v.vdc_options.read(from, end); } break; case mtpc_updateUserBlocked: _type = cons; { if (!data) setData(new MTPDupdateUserBlocked()); MTPDupdateUserBlocked &v(_updateUserBlocked()); v.vuser_id.read(from, end); v.vblocked.read(from, end); } break; case mtpc_updateNotifySettings: _type = cons; { if (!data) setData(new MTPDupdateNotifySettings()); MTPDupdateNotifySettings &v(_updateNotifySettings()); v.vpeer.read(from, end); v.vnotify_settings.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPupdate"); } } inline void MTPupdate::write(mtpBuffer &to) const { switch (_type) { case mtpc_updateNewMessage: { const MTPDupdateNewMessage &v(c_updateNewMessage()); v.vmessage.write(to); v.vpts.write(to); } break; case mtpc_updateMessageID: { const MTPDupdateMessageID &v(c_updateMessageID()); v.vid.write(to); v.vrandom_id.write(to); } break; case mtpc_updateReadMessages: { const MTPDupdateReadMessages &v(c_updateReadMessages()); v.vmessages.write(to); v.vpts.write(to); } break; case mtpc_updateDeleteMessages: { const MTPDupdateDeleteMessages &v(c_updateDeleteMessages()); v.vmessages.write(to); v.vpts.write(to); } break; case mtpc_updateRestoreMessages: { const MTPDupdateRestoreMessages &v(c_updateRestoreMessages()); v.vmessages.write(to); v.vpts.write(to); } break; case mtpc_updateUserTyping: { const MTPDupdateUserTyping &v(c_updateUserTyping()); v.vuser_id.write(to); } break; case mtpc_updateChatUserTyping: { const MTPDupdateChatUserTyping &v(c_updateChatUserTyping()); v.vchat_id.write(to); v.vuser_id.write(to); } break; case mtpc_updateChatParticipants: { const MTPDupdateChatParticipants &v(c_updateChatParticipants()); v.vparticipants.write(to); } break; case mtpc_updateUserStatus: { const MTPDupdateUserStatus &v(c_updateUserStatus()); v.vuser_id.write(to); v.vstatus.write(to); } break; case mtpc_updateUserName: { const MTPDupdateUserName &v(c_updateUserName()); v.vuser_id.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); } break; case mtpc_updateUserPhoto: { const MTPDupdateUserPhoto &v(c_updateUserPhoto()); v.vuser_id.write(to); v.vdate.write(to); v.vphoto.write(to); v.vprevious.write(to); } break; case mtpc_updateContactRegistered: { const MTPDupdateContactRegistered &v(c_updateContactRegistered()); v.vuser_id.write(to); v.vdate.write(to); } break; case mtpc_updateContactLink: { const MTPDupdateContactLink &v(c_updateContactLink()); v.vuser_id.write(to); v.vmy_link.write(to); v.vforeign_link.write(to); } break; case mtpc_updateActivation: { const MTPDupdateActivation &v(c_updateActivation()); v.vuser_id.write(to); } break; case mtpc_updateNewAuthorization: { const MTPDupdateNewAuthorization &v(c_updateNewAuthorization()); v.vauth_key_id.write(to); v.vdate.write(to); v.vdevice.write(to); v.vlocation.write(to); } break; case mtpc_updateNewGeoChatMessage: { const MTPDupdateNewGeoChatMessage &v(c_updateNewGeoChatMessage()); v.vmessage.write(to); } break; case mtpc_updateNewEncryptedMessage: { const MTPDupdateNewEncryptedMessage &v(c_updateNewEncryptedMessage()); v.vmessage.write(to); v.vqts.write(to); } break; case mtpc_updateEncryptedChatTyping: { const MTPDupdateEncryptedChatTyping &v(c_updateEncryptedChatTyping()); v.vchat_id.write(to); } break; case mtpc_updateEncryption: { const MTPDupdateEncryption &v(c_updateEncryption()); v.vchat.write(to); v.vdate.write(to); } break; case mtpc_updateEncryptedMessagesRead: { const MTPDupdateEncryptedMessagesRead &v(c_updateEncryptedMessagesRead()); v.vchat_id.write(to); v.vmax_date.write(to); v.vdate.write(to); } break; case mtpc_updateChatParticipantAdd: { const MTPDupdateChatParticipantAdd &v(c_updateChatParticipantAdd()); v.vchat_id.write(to); v.vuser_id.write(to); v.vinviter_id.write(to); v.vversion.write(to); } break; case mtpc_updateChatParticipantDelete: { const MTPDupdateChatParticipantDelete &v(c_updateChatParticipantDelete()); v.vchat_id.write(to); v.vuser_id.write(to); v.vversion.write(to); } break; case mtpc_updateDcOptions: { const MTPDupdateDcOptions &v(c_updateDcOptions()); v.vdc_options.write(to); } break; case mtpc_updateUserBlocked: { const MTPDupdateUserBlocked &v(c_updateUserBlocked()); v.vuser_id.write(to); v.vblocked.write(to); } break; case mtpc_updateNotifySettings: { const MTPDupdateNotifySettings &v(c_updateNotifySettings()); v.vpeer.write(to); v.vnotify_settings.write(to); } break; } } inline MTPupdate::MTPupdate(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_updateNewMessage: setData(new MTPDupdateNewMessage()); break; case mtpc_updateMessageID: setData(new MTPDupdateMessageID()); break; case mtpc_updateReadMessages: setData(new MTPDupdateReadMessages()); break; case mtpc_updateDeleteMessages: setData(new MTPDupdateDeleteMessages()); break; case mtpc_updateRestoreMessages: setData(new MTPDupdateRestoreMessages()); break; case mtpc_updateUserTyping: setData(new MTPDupdateUserTyping()); break; case mtpc_updateChatUserTyping: setData(new MTPDupdateChatUserTyping()); break; case mtpc_updateChatParticipants: setData(new MTPDupdateChatParticipants()); break; case mtpc_updateUserStatus: setData(new MTPDupdateUserStatus()); break; case mtpc_updateUserName: setData(new MTPDupdateUserName()); break; case mtpc_updateUserPhoto: setData(new MTPDupdateUserPhoto()); break; case mtpc_updateContactRegistered: setData(new MTPDupdateContactRegistered()); break; case mtpc_updateContactLink: setData(new MTPDupdateContactLink()); break; case mtpc_updateActivation: setData(new MTPDupdateActivation()); break; case mtpc_updateNewAuthorization: setData(new MTPDupdateNewAuthorization()); break; case mtpc_updateNewGeoChatMessage: setData(new MTPDupdateNewGeoChatMessage()); break; case mtpc_updateNewEncryptedMessage: setData(new MTPDupdateNewEncryptedMessage()); break; case mtpc_updateEncryptedChatTyping: setData(new MTPDupdateEncryptedChatTyping()); break; case mtpc_updateEncryption: setData(new MTPDupdateEncryption()); break; case mtpc_updateEncryptedMessagesRead: setData(new MTPDupdateEncryptedMessagesRead()); break; case mtpc_updateChatParticipantAdd: setData(new MTPDupdateChatParticipantAdd()); break; case mtpc_updateChatParticipantDelete: setData(new MTPDupdateChatParticipantDelete()); break; case mtpc_updateDcOptions: setData(new MTPDupdateDcOptions()); break; case mtpc_updateUserBlocked: setData(new MTPDupdateUserBlocked()); break; case mtpc_updateNotifySettings: setData(new MTPDupdateNotifySettings()); break; default: throw mtpErrorBadTypeId(type, "MTPupdate"); } } inline MTPupdate::MTPupdate(MTPDupdateNewMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateNewMessage) { } inline MTPupdate::MTPupdate(MTPDupdateMessageID *_data) : mtpDataOwner(_data), _type(mtpc_updateMessageID) { } inline MTPupdate::MTPupdate(MTPDupdateReadMessages *_data) : mtpDataOwner(_data), _type(mtpc_updateReadMessages) { } inline MTPupdate::MTPupdate(MTPDupdateDeleteMessages *_data) : mtpDataOwner(_data), _type(mtpc_updateDeleteMessages) { } inline MTPupdate::MTPupdate(MTPDupdateRestoreMessages *_data) : mtpDataOwner(_data), _type(mtpc_updateRestoreMessages) { } inline MTPupdate::MTPupdate(MTPDupdateUserTyping *_data) : mtpDataOwner(_data), _type(mtpc_updateUserTyping) { } inline MTPupdate::MTPupdate(MTPDupdateChatUserTyping *_data) : mtpDataOwner(_data), _type(mtpc_updateChatUserTyping) { } inline MTPupdate::MTPupdate(MTPDupdateChatParticipants *_data) : mtpDataOwner(_data), _type(mtpc_updateChatParticipants) { } inline MTPupdate::MTPupdate(MTPDupdateUserStatus *_data) : mtpDataOwner(_data), _type(mtpc_updateUserStatus) { } inline MTPupdate::MTPupdate(MTPDupdateUserName *_data) : mtpDataOwner(_data), _type(mtpc_updateUserName) { } inline MTPupdate::MTPupdate(MTPDupdateUserPhoto *_data) : mtpDataOwner(_data), _type(mtpc_updateUserPhoto) { } inline MTPupdate::MTPupdate(MTPDupdateContactRegistered *_data) : mtpDataOwner(_data), _type(mtpc_updateContactRegistered) { } inline MTPupdate::MTPupdate(MTPDupdateContactLink *_data) : mtpDataOwner(_data), _type(mtpc_updateContactLink) { } inline MTPupdate::MTPupdate(MTPDupdateActivation *_data) : mtpDataOwner(_data), _type(mtpc_updateActivation) { } inline MTPupdate::MTPupdate(MTPDupdateNewAuthorization *_data) : mtpDataOwner(_data), _type(mtpc_updateNewAuthorization) { } inline MTPupdate::MTPupdate(MTPDupdateNewGeoChatMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateNewGeoChatMessage) { } inline MTPupdate::MTPupdate(MTPDupdateNewEncryptedMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateNewEncryptedMessage) { } inline MTPupdate::MTPupdate(MTPDupdateEncryptedChatTyping *_data) : mtpDataOwner(_data), _type(mtpc_updateEncryptedChatTyping) { } inline MTPupdate::MTPupdate(MTPDupdateEncryption *_data) : mtpDataOwner(_data), _type(mtpc_updateEncryption) { } inline MTPupdate::MTPupdate(MTPDupdateEncryptedMessagesRead *_data) : mtpDataOwner(_data), _type(mtpc_updateEncryptedMessagesRead) { } inline MTPupdate::MTPupdate(MTPDupdateChatParticipantAdd *_data) : mtpDataOwner(_data), _type(mtpc_updateChatParticipantAdd) { } inline MTPupdate::MTPupdate(MTPDupdateChatParticipantDelete *_data) : mtpDataOwner(_data), _type(mtpc_updateChatParticipantDelete) { } inline MTPupdate::MTPupdate(MTPDupdateDcOptions *_data) : mtpDataOwner(_data), _type(mtpc_updateDcOptions) { } inline MTPupdate::MTPupdate(MTPDupdateUserBlocked *_data) : mtpDataOwner(_data), _type(mtpc_updateUserBlocked) { } inline MTPupdate::MTPupdate(MTPDupdateNotifySettings *_data) : mtpDataOwner(_data), _type(mtpc_updateNotifySettings) { } inline MTPupdate MTP_updateNewMessage(const MTPMessage &_message, MTPint _pts) { return MTPupdate(new MTPDupdateNewMessage(_message, _pts)); } inline MTPupdate MTP_updateMessageID(MTPint _id, const MTPlong &_random_id) { return MTPupdate(new MTPDupdateMessageID(_id, _random_id)); } inline MTPupdate MTP_updateReadMessages(const MTPVector &_messages, MTPint _pts) { return MTPupdate(new MTPDupdateReadMessages(_messages, _pts)); } inline MTPupdate MTP_updateDeleteMessages(const MTPVector &_messages, MTPint _pts) { return MTPupdate(new MTPDupdateDeleteMessages(_messages, _pts)); } inline MTPupdate MTP_updateRestoreMessages(const MTPVector &_messages, MTPint _pts) { return MTPupdate(new MTPDupdateRestoreMessages(_messages, _pts)); } inline MTPupdate MTP_updateUserTyping(MTPint _user_id) { return MTPupdate(new MTPDupdateUserTyping(_user_id)); } inline MTPupdate MTP_updateChatUserTyping(MTPint _chat_id, MTPint _user_id) { return MTPupdate(new MTPDupdateChatUserTyping(_chat_id, _user_id)); } inline MTPupdate MTP_updateChatParticipants(const MTPChatParticipants &_participants) { return MTPupdate(new MTPDupdateChatParticipants(_participants)); } inline MTPupdate MTP_updateUserStatus(MTPint _user_id, const MTPUserStatus &_status) { return MTPupdate(new MTPDupdateUserStatus(_user_id, _status)); } inline MTPupdate MTP_updateUserName(MTPint _user_id, const MTPstring &_first_name, const MTPstring &_last_name) { return MTPupdate(new MTPDupdateUserName(_user_id, _first_name, _last_name)); } inline MTPupdate MTP_updateUserPhoto(MTPint _user_id, MTPint _date, const MTPUserProfilePhoto &_photo, MTPBool _previous) { return MTPupdate(new MTPDupdateUserPhoto(_user_id, _date, _photo, _previous)); } inline MTPupdate MTP_updateContactRegistered(MTPint _user_id, MTPint _date) { return MTPupdate(new MTPDupdateContactRegistered(_user_id, _date)); } inline MTPupdate MTP_updateContactLink(MTPint _user_id, const MTPcontacts_MyLink &_my_link, const MTPcontacts_ForeignLink &_foreign_link) { return MTPupdate(new MTPDupdateContactLink(_user_id, _my_link, _foreign_link)); } inline MTPupdate MTP_updateActivation(MTPint _user_id) { return MTPupdate(new MTPDupdateActivation(_user_id)); } inline MTPupdate MTP_updateNewAuthorization(const MTPlong &_auth_key_id, MTPint _date, const MTPstring &_device, const MTPstring &_location) { return MTPupdate(new MTPDupdateNewAuthorization(_auth_key_id, _date, _device, _location)); } inline MTPupdate MTP_updateNewGeoChatMessage(const MTPGeoChatMessage &_message) { return MTPupdate(new MTPDupdateNewGeoChatMessage(_message)); } inline MTPupdate MTP_updateNewEncryptedMessage(const MTPEncryptedMessage &_message, MTPint _qts) { return MTPupdate(new MTPDupdateNewEncryptedMessage(_message, _qts)); } inline MTPupdate MTP_updateEncryptedChatTyping(MTPint _chat_id) { return MTPupdate(new MTPDupdateEncryptedChatTyping(_chat_id)); } inline MTPupdate MTP_updateEncryption(const MTPEncryptedChat &_chat, MTPint _date) { return MTPupdate(new MTPDupdateEncryption(_chat, _date)); } inline MTPupdate MTP_updateEncryptedMessagesRead(MTPint _chat_id, MTPint _max_date, MTPint _date) { return MTPupdate(new MTPDupdateEncryptedMessagesRead(_chat_id, _max_date, _date)); } inline MTPupdate MTP_updateChatParticipantAdd(MTPint _chat_id, MTPint _user_id, MTPint _inviter_id, MTPint _version) { return MTPupdate(new MTPDupdateChatParticipantAdd(_chat_id, _user_id, _inviter_id, _version)); } inline MTPupdate MTP_updateChatParticipantDelete(MTPint _chat_id, MTPint _user_id, MTPint _version) { return MTPupdate(new MTPDupdateChatParticipantDelete(_chat_id, _user_id, _version)); } inline MTPupdate MTP_updateDcOptions(const MTPVector &_dc_options) { return MTPupdate(new MTPDupdateDcOptions(_dc_options)); } inline MTPupdate MTP_updateUserBlocked(MTPint _user_id, MTPBool _blocked) { return MTPupdate(new MTPDupdateUserBlocked(_user_id, _blocked)); } inline MTPupdate MTP_updateNotifySettings(const MTPNotifyPeer &_peer, const MTPPeerNotifySettings &_notify_settings) { return MTPupdate(new MTPDupdateNotifySettings(_peer, _notify_settings)); } inline MTPupdates_state::MTPupdates_state() : mtpDataOwner(new MTPDupdates_state()) { } inline uint32 MTPupdates_state::size() const { const MTPDupdates_state &v(c_updates_state()); return v.vpts.size() + v.vqts.size() + v.vdate.size() + v.vseq.size() + v.vunread_count.size(); } inline mtpTypeId MTPupdates_state::type() const { return mtpc_updates_state; } inline void MTPupdates_state::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_updates_state) throw mtpErrorUnexpected(cons, "MTPupdates_state"); if (!data) setData(new MTPDupdates_state()); MTPDupdates_state &v(_updates_state()); v.vpts.read(from, end); v.vqts.read(from, end); v.vdate.read(from, end); v.vseq.read(from, end); v.vunread_count.read(from, end); } inline void MTPupdates_state::write(mtpBuffer &to) const { const MTPDupdates_state &v(c_updates_state()); v.vpts.write(to); v.vqts.write(to); v.vdate.write(to); v.vseq.write(to); v.vunread_count.write(to); } inline MTPupdates_state::MTPupdates_state(MTPDupdates_state *_data) : mtpDataOwner(_data) { } inline MTPupdates_state MTP_updates_state(MTPint _pts, MTPint _qts, MTPint _date, MTPint _seq, MTPint _unread_count) { return MTPupdates_state(new MTPDupdates_state(_pts, _qts, _date, _seq, _unread_count)); } inline uint32 MTPupdates_difference::size() const { switch (_type) { case mtpc_updates_differenceEmpty: { const MTPDupdates_differenceEmpty &v(c_updates_differenceEmpty()); return v.vdate.size() + v.vseq.size(); } case mtpc_updates_difference: { const MTPDupdates_difference &v(c_updates_difference()); return v.vnew_messages.size() + v.vnew_encrypted_messages.size() + v.vother_updates.size() + v.vchats.size() + v.vusers.size() + v.vstate.size(); } case mtpc_updates_differenceSlice: { const MTPDupdates_differenceSlice &v(c_updates_differenceSlice()); return v.vnew_messages.size() + v.vnew_encrypted_messages.size() + v.vother_updates.size() + v.vchats.size() + v.vusers.size() + v.vintermediate_state.size(); } } return 0; } inline mtpTypeId MTPupdates_difference::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPupdates_difference::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_updates_differenceEmpty: _type = cons; { if (!data) setData(new MTPDupdates_differenceEmpty()); MTPDupdates_differenceEmpty &v(_updates_differenceEmpty()); v.vdate.read(from, end); v.vseq.read(from, end); } break; case mtpc_updates_difference: _type = cons; { if (!data) setData(new MTPDupdates_difference()); MTPDupdates_difference &v(_updates_difference()); v.vnew_messages.read(from, end); v.vnew_encrypted_messages.read(from, end); v.vother_updates.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vstate.read(from, end); } break; case mtpc_updates_differenceSlice: _type = cons; { if (!data) setData(new MTPDupdates_differenceSlice()); MTPDupdates_differenceSlice &v(_updates_differenceSlice()); v.vnew_messages.read(from, end); v.vnew_encrypted_messages.read(from, end); v.vother_updates.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vintermediate_state.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPupdates_difference"); } } inline void MTPupdates_difference::write(mtpBuffer &to) const { switch (_type) { case mtpc_updates_differenceEmpty: { const MTPDupdates_differenceEmpty &v(c_updates_differenceEmpty()); v.vdate.write(to); v.vseq.write(to); } break; case mtpc_updates_difference: { const MTPDupdates_difference &v(c_updates_difference()); v.vnew_messages.write(to); v.vnew_encrypted_messages.write(to); v.vother_updates.write(to); v.vchats.write(to); v.vusers.write(to); v.vstate.write(to); } break; case mtpc_updates_differenceSlice: { const MTPDupdates_differenceSlice &v(c_updates_differenceSlice()); v.vnew_messages.write(to); v.vnew_encrypted_messages.write(to); v.vother_updates.write(to); v.vchats.write(to); v.vusers.write(to); v.vintermediate_state.write(to); } break; } } inline MTPupdates_difference::MTPupdates_difference(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_updates_differenceEmpty: setData(new MTPDupdates_differenceEmpty()); break; case mtpc_updates_difference: setData(new MTPDupdates_difference()); break; case mtpc_updates_differenceSlice: setData(new MTPDupdates_differenceSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPupdates_difference"); } } inline MTPupdates_difference::MTPupdates_difference(MTPDupdates_differenceEmpty *_data) : mtpDataOwner(_data), _type(mtpc_updates_differenceEmpty) { } inline MTPupdates_difference::MTPupdates_difference(MTPDupdates_difference *_data) : mtpDataOwner(_data), _type(mtpc_updates_difference) { } inline MTPupdates_difference::MTPupdates_difference(MTPDupdates_differenceSlice *_data) : mtpDataOwner(_data), _type(mtpc_updates_differenceSlice) { } inline MTPupdates_difference MTP_updates_differenceEmpty(MTPint _date, MTPint _seq) { return MTPupdates_difference(new MTPDupdates_differenceEmpty(_date, _seq)); } inline MTPupdates_difference MTP_updates_difference(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_state) { return MTPupdates_difference(new MTPDupdates_difference(_new_messages, _new_encrypted_messages, _other_updates, _chats, _users, _state)); } inline MTPupdates_difference MTP_updates_differenceSlice(const MTPVector &_new_messages, const MTPVector &_new_encrypted_messages, const MTPVector &_other_updates, const MTPVector &_chats, const MTPVector &_users, const MTPupdates_State &_intermediate_state) { return MTPupdates_difference(new MTPDupdates_differenceSlice(_new_messages, _new_encrypted_messages, _other_updates, _chats, _users, _intermediate_state)); } inline uint32 MTPupdates::size() const { switch (_type) { case mtpc_updateShortMessage: { const MTPDupdateShortMessage &v(c_updateShortMessage()); return v.vid.size() + v.vfrom_id.size() + v.vmessage.size() + v.vpts.size() + v.vdate.size() + v.vseq.size(); } case mtpc_updateShortChatMessage: { const MTPDupdateShortChatMessage &v(c_updateShortChatMessage()); return v.vid.size() + v.vfrom_id.size() + v.vchat_id.size() + v.vmessage.size() + v.vpts.size() + v.vdate.size() + v.vseq.size(); } case mtpc_updateShort: { const MTPDupdateShort &v(c_updateShort()); return v.vupdate.size() + v.vdate.size(); } case mtpc_updatesCombined: { const MTPDupdatesCombined &v(c_updatesCombined()); return v.vupdates.size() + v.vusers.size() + v.vchats.size() + v.vdate.size() + v.vseq_start.size() + v.vseq.size(); } case mtpc_updates: { const MTPDupdates &v(c_updates()); return v.vupdates.size() + v.vusers.size() + v.vchats.size() + v.vdate.size() + v.vseq.size(); } } return 0; } inline mtpTypeId MTPupdates::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPupdates::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_updatesTooLong: _type = cons; break; case mtpc_updateShortMessage: _type = cons; { if (!data) setData(new MTPDupdateShortMessage()); MTPDupdateShortMessage &v(_updateShortMessage()); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vmessage.read(from, end); v.vpts.read(from, end); v.vdate.read(from, end); v.vseq.read(from, end); } break; case mtpc_updateShortChatMessage: _type = cons; { if (!data) setData(new MTPDupdateShortChatMessage()); MTPDupdateShortChatMessage &v(_updateShortChatMessage()); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vchat_id.read(from, end); v.vmessage.read(from, end); v.vpts.read(from, end); v.vdate.read(from, end); v.vseq.read(from, end); } break; case mtpc_updateShort: _type = cons; { if (!data) setData(new MTPDupdateShort()); MTPDupdateShort &v(_updateShort()); v.vupdate.read(from, end); v.vdate.read(from, end); } break; case mtpc_updatesCombined: _type = cons; { if (!data) setData(new MTPDupdatesCombined()); MTPDupdatesCombined &v(_updatesCombined()); v.vupdates.read(from, end); v.vusers.read(from, end); v.vchats.read(from, end); v.vdate.read(from, end); v.vseq_start.read(from, end); v.vseq.read(from, end); } break; case mtpc_updates: _type = cons; { if (!data) setData(new MTPDupdates()); MTPDupdates &v(_updates()); v.vupdates.read(from, end); v.vusers.read(from, end); v.vchats.read(from, end); v.vdate.read(from, end); v.vseq.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPupdates"); } } inline void MTPupdates::write(mtpBuffer &to) const { switch (_type) { case mtpc_updateShortMessage: { const MTPDupdateShortMessage &v(c_updateShortMessage()); v.vid.write(to); v.vfrom_id.write(to); v.vmessage.write(to); v.vpts.write(to); v.vdate.write(to); v.vseq.write(to); } break; case mtpc_updateShortChatMessage: { const MTPDupdateShortChatMessage &v(c_updateShortChatMessage()); v.vid.write(to); v.vfrom_id.write(to); v.vchat_id.write(to); v.vmessage.write(to); v.vpts.write(to); v.vdate.write(to); v.vseq.write(to); } break; case mtpc_updateShort: { const MTPDupdateShort &v(c_updateShort()); v.vupdate.write(to); v.vdate.write(to); } break; case mtpc_updatesCombined: { const MTPDupdatesCombined &v(c_updatesCombined()); v.vupdates.write(to); v.vusers.write(to); v.vchats.write(to); v.vdate.write(to); v.vseq_start.write(to); v.vseq.write(to); } break; case mtpc_updates: { const MTPDupdates &v(c_updates()); v.vupdates.write(to); v.vusers.write(to); v.vchats.write(to); v.vdate.write(to); v.vseq.write(to); } break; } } inline MTPupdates::MTPupdates(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_updatesTooLong: break; case mtpc_updateShortMessage: setData(new MTPDupdateShortMessage()); break; case mtpc_updateShortChatMessage: setData(new MTPDupdateShortChatMessage()); break; case mtpc_updateShort: setData(new MTPDupdateShort()); break; case mtpc_updatesCombined: setData(new MTPDupdatesCombined()); break; case mtpc_updates: setData(new MTPDupdates()); break; default: throw mtpErrorBadTypeId(type, "MTPupdates"); } } inline MTPupdates::MTPupdates(MTPDupdateShortMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateShortMessage) { } inline MTPupdates::MTPupdates(MTPDupdateShortChatMessage *_data) : mtpDataOwner(_data), _type(mtpc_updateShortChatMessage) { } inline MTPupdates::MTPupdates(MTPDupdateShort *_data) : mtpDataOwner(_data), _type(mtpc_updateShort) { } inline MTPupdates::MTPupdates(MTPDupdatesCombined *_data) : mtpDataOwner(_data), _type(mtpc_updatesCombined) { } inline MTPupdates::MTPupdates(MTPDupdates *_data) : mtpDataOwner(_data), _type(mtpc_updates) { } inline MTPupdates MTP_updatesTooLong() { return MTPupdates(mtpc_updatesTooLong); } inline MTPupdates MTP_updateShortMessage(MTPint _id, MTPint _from_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq) { return MTPupdates(new MTPDupdateShortMessage(_id, _from_id, _message, _pts, _date, _seq)); } inline MTPupdates MTP_updateShortChatMessage(MTPint _id, MTPint _from_id, MTPint _chat_id, const MTPstring &_message, MTPint _pts, MTPint _date, MTPint _seq) { return MTPupdates(new MTPDupdateShortChatMessage(_id, _from_id, _chat_id, _message, _pts, _date, _seq)); } inline MTPupdates MTP_updateShort(const MTPUpdate &_update, MTPint _date) { return MTPupdates(new MTPDupdateShort(_update, _date)); } inline MTPupdates MTP_updatesCombined(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq_start, MTPint _seq) { return MTPupdates(new MTPDupdatesCombined(_updates, _users, _chats, _date, _seq_start, _seq)); } inline MTPupdates MTP_updates(const MTPVector &_updates, const MTPVector &_users, const MTPVector &_chats, MTPint _date, MTPint _seq) { return MTPupdates(new MTPDupdates(_updates, _users, _chats, _date, _seq)); } inline uint32 MTPphotos_photos::size() const { switch (_type) { case mtpc_photos_photos: { const MTPDphotos_photos &v(c_photos_photos()); return v.vphotos.size() + v.vusers.size(); } case mtpc_photos_photosSlice: { const MTPDphotos_photosSlice &v(c_photos_photosSlice()); return v.vcount.size() + v.vphotos.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPphotos_photos::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPphotos_photos::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_photos_photos: _type = cons; { if (!data) setData(new MTPDphotos_photos()); MTPDphotos_photos &v(_photos_photos()); v.vphotos.read(from, end); v.vusers.read(from, end); } break; case mtpc_photos_photosSlice: _type = cons; { if (!data) setData(new MTPDphotos_photosSlice()); MTPDphotos_photosSlice &v(_photos_photosSlice()); v.vcount.read(from, end); v.vphotos.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPphotos_photos"); } } inline void MTPphotos_photos::write(mtpBuffer &to) const { switch (_type) { case mtpc_photos_photos: { const MTPDphotos_photos &v(c_photos_photos()); v.vphotos.write(to); v.vusers.write(to); } break; case mtpc_photos_photosSlice: { const MTPDphotos_photosSlice &v(c_photos_photosSlice()); v.vcount.write(to); v.vphotos.write(to); v.vusers.write(to); } break; } } inline MTPphotos_photos::MTPphotos_photos(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_photos_photos: setData(new MTPDphotos_photos()); break; case mtpc_photos_photosSlice: setData(new MTPDphotos_photosSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPphotos_photos"); } } inline MTPphotos_photos::MTPphotos_photos(MTPDphotos_photos *_data) : mtpDataOwner(_data), _type(mtpc_photos_photos) { } inline MTPphotos_photos::MTPphotos_photos(MTPDphotos_photosSlice *_data) : mtpDataOwner(_data), _type(mtpc_photos_photosSlice) { } inline MTPphotos_photos MTP_photos_photos(const MTPVector &_photos, const MTPVector &_users) { return MTPphotos_photos(new MTPDphotos_photos(_photos, _users)); } inline MTPphotos_photos MTP_photos_photosSlice(MTPint _count, const MTPVector &_photos, const MTPVector &_users) { return MTPphotos_photos(new MTPDphotos_photosSlice(_count, _photos, _users)); } inline MTPphotos_photo::MTPphotos_photo() : mtpDataOwner(new MTPDphotos_photo()) { } inline uint32 MTPphotos_photo::size() const { const MTPDphotos_photo &v(c_photos_photo()); return v.vphoto.size() + v.vusers.size(); } inline mtpTypeId MTPphotos_photo::type() const { return mtpc_photos_photo; } inline void MTPphotos_photo::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_photos_photo) throw mtpErrorUnexpected(cons, "MTPphotos_photo"); if (!data) setData(new MTPDphotos_photo()); MTPDphotos_photo &v(_photos_photo()); v.vphoto.read(from, end); v.vusers.read(from, end); } inline void MTPphotos_photo::write(mtpBuffer &to) const { const MTPDphotos_photo &v(c_photos_photo()); v.vphoto.write(to); v.vusers.write(to); } inline MTPphotos_photo::MTPphotos_photo(MTPDphotos_photo *_data) : mtpDataOwner(_data) { } inline MTPphotos_photo MTP_photos_photo(const MTPPhoto &_photo, const MTPVector &_users) { return MTPphotos_photo(new MTPDphotos_photo(_photo, _users)); } inline MTPupload_file::MTPupload_file() : mtpDataOwner(new MTPDupload_file()) { } inline uint32 MTPupload_file::size() const { const MTPDupload_file &v(c_upload_file()); return v.vtype.size() + v.vmtime.size() + v.vbytes.size(); } inline mtpTypeId MTPupload_file::type() const { return mtpc_upload_file; } inline void MTPupload_file::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_upload_file) throw mtpErrorUnexpected(cons, "MTPupload_file"); if (!data) setData(new MTPDupload_file()); MTPDupload_file &v(_upload_file()); v.vtype.read(from, end); v.vmtime.read(from, end); v.vbytes.read(from, end); } inline void MTPupload_file::write(mtpBuffer &to) const { const MTPDupload_file &v(c_upload_file()); v.vtype.write(to); v.vmtime.write(to); v.vbytes.write(to); } inline MTPupload_file::MTPupload_file(MTPDupload_file *_data) : mtpDataOwner(_data) { } inline MTPupload_file MTP_upload_file(const MTPstorage_FileType &_type, MTPint _mtime, const MTPbytes &_bytes) { return MTPupload_file(new MTPDupload_file(_type, _mtime, _bytes)); } inline MTPdcOption::MTPdcOption() : mtpDataOwner(new MTPDdcOption()) { } inline uint32 MTPdcOption::size() const { const MTPDdcOption &v(c_dcOption()); return v.vid.size() + v.vhostname.size() + v.vip_address.size() + v.vport.size(); } inline mtpTypeId MTPdcOption::type() const { return mtpc_dcOption; } inline void MTPdcOption::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_dcOption) throw mtpErrorUnexpected(cons, "MTPdcOption"); if (!data) setData(new MTPDdcOption()); MTPDdcOption &v(_dcOption()); v.vid.read(from, end); v.vhostname.read(from, end); v.vip_address.read(from, end); v.vport.read(from, end); } inline void MTPdcOption::write(mtpBuffer &to) const { const MTPDdcOption &v(c_dcOption()); v.vid.write(to); v.vhostname.write(to); v.vip_address.write(to); v.vport.write(to); } inline MTPdcOption::MTPdcOption(MTPDdcOption *_data) : mtpDataOwner(_data) { } inline MTPdcOption MTP_dcOption(MTPint _id, const MTPstring &_hostname, const MTPstring &_ip_address, MTPint _port) { return MTPdcOption(new MTPDdcOption(_id, _hostname, _ip_address, _port)); } inline MTPconfig::MTPconfig() : mtpDataOwner(new MTPDconfig()) { } inline uint32 MTPconfig::size() const { const MTPDconfig &v(c_config()); return v.vdate.size() + v.vtest_mode.size() + v.vthis_dc.size() + v.vdc_options.size() + v.vchat_size_max.size() + v.vbroadcast_size_max.size(); } inline mtpTypeId MTPconfig::type() const { return mtpc_config; } inline void MTPconfig::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_config) throw mtpErrorUnexpected(cons, "MTPconfig"); if (!data) setData(new MTPDconfig()); MTPDconfig &v(_config()); v.vdate.read(from, end); v.vtest_mode.read(from, end); v.vthis_dc.read(from, end); v.vdc_options.read(from, end); v.vchat_size_max.read(from, end); v.vbroadcast_size_max.read(from, end); } inline void MTPconfig::write(mtpBuffer &to) const { const MTPDconfig &v(c_config()); v.vdate.write(to); v.vtest_mode.write(to); v.vthis_dc.write(to); v.vdc_options.write(to); v.vchat_size_max.write(to); v.vbroadcast_size_max.write(to); } inline MTPconfig::MTPconfig(MTPDconfig *_data) : mtpDataOwner(_data) { } inline MTPconfig MTP_config(MTPint _date, MTPBool _test_mode, MTPint _this_dc, const MTPVector &_dc_options, MTPint _chat_size_max, MTPint _broadcast_size_max) { return MTPconfig(new MTPDconfig(_date, _test_mode, _this_dc, _dc_options, _chat_size_max, _broadcast_size_max)); } inline MTPnearestDc::MTPnearestDc() : mtpDataOwner(new MTPDnearestDc()) { } inline uint32 MTPnearestDc::size() const { const MTPDnearestDc &v(c_nearestDc()); return v.vcountry.size() + v.vthis_dc.size() + v.vnearest_dc.size(); } inline mtpTypeId MTPnearestDc::type() const { return mtpc_nearestDc; } inline void MTPnearestDc::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_nearestDc) throw mtpErrorUnexpected(cons, "MTPnearestDc"); if (!data) setData(new MTPDnearestDc()); MTPDnearestDc &v(_nearestDc()); v.vcountry.read(from, end); v.vthis_dc.read(from, end); v.vnearest_dc.read(from, end); } inline void MTPnearestDc::write(mtpBuffer &to) const { const MTPDnearestDc &v(c_nearestDc()); v.vcountry.write(to); v.vthis_dc.write(to); v.vnearest_dc.write(to); } inline MTPnearestDc::MTPnearestDc(MTPDnearestDc *_data) : mtpDataOwner(_data) { } inline MTPnearestDc MTP_nearestDc(const MTPstring &_country, MTPint _this_dc, MTPint _nearest_dc) { return MTPnearestDc(new MTPDnearestDc(_country, _this_dc, _nearest_dc)); } inline uint32 MTPhelp_appUpdate::size() const { switch (_type) { case mtpc_help_appUpdate: { const MTPDhelp_appUpdate &v(c_help_appUpdate()); return v.vid.size() + v.vcritical.size() + v.vurl.size() + v.vtext.size(); } } return 0; } inline mtpTypeId MTPhelp_appUpdate::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPhelp_appUpdate::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_help_appUpdate: _type = cons; { if (!data) setData(new MTPDhelp_appUpdate()); MTPDhelp_appUpdate &v(_help_appUpdate()); v.vid.read(from, end); v.vcritical.read(from, end); v.vurl.read(from, end); v.vtext.read(from, end); } break; case mtpc_help_noAppUpdate: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPhelp_appUpdate"); } } inline void MTPhelp_appUpdate::write(mtpBuffer &to) const { switch (_type) { case mtpc_help_appUpdate: { const MTPDhelp_appUpdate &v(c_help_appUpdate()); v.vid.write(to); v.vcritical.write(to); v.vurl.write(to); v.vtext.write(to); } break; } } inline MTPhelp_appUpdate::MTPhelp_appUpdate(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_help_appUpdate: setData(new MTPDhelp_appUpdate()); break; case mtpc_help_noAppUpdate: break; default: throw mtpErrorBadTypeId(type, "MTPhelp_appUpdate"); } } inline MTPhelp_appUpdate::MTPhelp_appUpdate(MTPDhelp_appUpdate *_data) : mtpDataOwner(_data), _type(mtpc_help_appUpdate) { } inline MTPhelp_appUpdate MTP_help_appUpdate(MTPint _id, MTPBool _critical, const MTPstring &_url, const MTPstring &_text) { return MTPhelp_appUpdate(new MTPDhelp_appUpdate(_id, _critical, _url, _text)); } inline MTPhelp_appUpdate MTP_help_noAppUpdate() { return MTPhelp_appUpdate(mtpc_help_noAppUpdate); } inline MTPhelp_inviteText::MTPhelp_inviteText() : mtpDataOwner(new MTPDhelp_inviteText()) { } inline uint32 MTPhelp_inviteText::size() const { const MTPDhelp_inviteText &v(c_help_inviteText()); return v.vmessage.size(); } inline mtpTypeId MTPhelp_inviteText::type() const { return mtpc_help_inviteText; } inline void MTPhelp_inviteText::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_help_inviteText) throw mtpErrorUnexpected(cons, "MTPhelp_inviteText"); if (!data) setData(new MTPDhelp_inviteText()); MTPDhelp_inviteText &v(_help_inviteText()); v.vmessage.read(from, end); } inline void MTPhelp_inviteText::write(mtpBuffer &to) const { const MTPDhelp_inviteText &v(c_help_inviteText()); v.vmessage.write(to); } inline MTPhelp_inviteText::MTPhelp_inviteText(MTPDhelp_inviteText *_data) : mtpDataOwner(_data) { } inline MTPhelp_inviteText MTP_help_inviteText(const MTPstring &_message) { return MTPhelp_inviteText(new MTPDhelp_inviteText(_message)); } inline MTPinputGeoChat::MTPinputGeoChat() : mtpDataOwner(new MTPDinputGeoChat()) { } inline uint32 MTPinputGeoChat::size() const { const MTPDinputGeoChat &v(c_inputGeoChat()); return v.vchat_id.size() + v.vaccess_hash.size(); } inline mtpTypeId MTPinputGeoChat::type() const { return mtpc_inputGeoChat; } inline void MTPinputGeoChat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_inputGeoChat) throw mtpErrorUnexpected(cons, "MTPinputGeoChat"); if (!data) setData(new MTPDinputGeoChat()); MTPDinputGeoChat &v(_inputGeoChat()); v.vchat_id.read(from, end); v.vaccess_hash.read(from, end); } inline void MTPinputGeoChat::write(mtpBuffer &to) const { const MTPDinputGeoChat &v(c_inputGeoChat()); v.vchat_id.write(to); v.vaccess_hash.write(to); } inline MTPinputGeoChat::MTPinputGeoChat(MTPDinputGeoChat *_data) : mtpDataOwner(_data) { } inline MTPinputGeoChat MTP_inputGeoChat(MTPint _chat_id, const MTPlong &_access_hash) { return MTPinputGeoChat(new MTPDinputGeoChat(_chat_id, _access_hash)); } inline uint32 MTPgeoChatMessage::size() const { switch (_type) { case mtpc_geoChatMessageEmpty: { const MTPDgeoChatMessageEmpty &v(c_geoChatMessageEmpty()); return v.vchat_id.size() + v.vid.size(); } case mtpc_geoChatMessage: { const MTPDgeoChatMessage &v(c_geoChatMessage()); return v.vchat_id.size() + v.vid.size() + v.vfrom_id.size() + v.vdate.size() + v.vmessage.size() + v.vmedia.size(); } case mtpc_geoChatMessageService: { const MTPDgeoChatMessageService &v(c_geoChatMessageService()); return v.vchat_id.size() + v.vid.size() + v.vfrom_id.size() + v.vdate.size() + v.vaction.size(); } } return 0; } inline mtpTypeId MTPgeoChatMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPgeoChatMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_geoChatMessageEmpty: _type = cons; { if (!data) setData(new MTPDgeoChatMessageEmpty()); MTPDgeoChatMessageEmpty &v(_geoChatMessageEmpty()); v.vchat_id.read(from, end); v.vid.read(from, end); } break; case mtpc_geoChatMessage: _type = cons; { if (!data) setData(new MTPDgeoChatMessage()); MTPDgeoChatMessage &v(_geoChatMessage()); v.vchat_id.read(from, end); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vdate.read(from, end); v.vmessage.read(from, end); v.vmedia.read(from, end); } break; case mtpc_geoChatMessageService: _type = cons; { if (!data) setData(new MTPDgeoChatMessageService()); MTPDgeoChatMessageService &v(_geoChatMessageService()); v.vchat_id.read(from, end); v.vid.read(from, end); v.vfrom_id.read(from, end); v.vdate.read(from, end); v.vaction.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPgeoChatMessage"); } } inline void MTPgeoChatMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_geoChatMessageEmpty: { const MTPDgeoChatMessageEmpty &v(c_geoChatMessageEmpty()); v.vchat_id.write(to); v.vid.write(to); } break; case mtpc_geoChatMessage: { const MTPDgeoChatMessage &v(c_geoChatMessage()); v.vchat_id.write(to); v.vid.write(to); v.vfrom_id.write(to); v.vdate.write(to); v.vmessage.write(to); v.vmedia.write(to); } break; case mtpc_geoChatMessageService: { const MTPDgeoChatMessageService &v(c_geoChatMessageService()); v.vchat_id.write(to); v.vid.write(to); v.vfrom_id.write(to); v.vdate.write(to); v.vaction.write(to); } break; } } inline MTPgeoChatMessage::MTPgeoChatMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_geoChatMessageEmpty: setData(new MTPDgeoChatMessageEmpty()); break; case mtpc_geoChatMessage: setData(new MTPDgeoChatMessage()); break; case mtpc_geoChatMessageService: setData(new MTPDgeoChatMessageService()); break; default: throw mtpErrorBadTypeId(type, "MTPgeoChatMessage"); } } inline MTPgeoChatMessage::MTPgeoChatMessage(MTPDgeoChatMessageEmpty *_data) : mtpDataOwner(_data), _type(mtpc_geoChatMessageEmpty) { } inline MTPgeoChatMessage::MTPgeoChatMessage(MTPDgeoChatMessage *_data) : mtpDataOwner(_data), _type(mtpc_geoChatMessage) { } inline MTPgeoChatMessage::MTPgeoChatMessage(MTPDgeoChatMessageService *_data) : mtpDataOwner(_data), _type(mtpc_geoChatMessageService) { } inline MTPgeoChatMessage MTP_geoChatMessageEmpty(MTPint _chat_id, MTPint _id) { return MTPgeoChatMessage(new MTPDgeoChatMessageEmpty(_chat_id, _id)); } inline MTPgeoChatMessage MTP_geoChatMessage(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPstring &_message, const MTPMessageMedia &_media) { return MTPgeoChatMessage(new MTPDgeoChatMessage(_chat_id, _id, _from_id, _date, _message, _media)); } inline MTPgeoChatMessage MTP_geoChatMessageService(MTPint _chat_id, MTPint _id, MTPint _from_id, MTPint _date, const MTPMessageAction &_action) { return MTPgeoChatMessage(new MTPDgeoChatMessageService(_chat_id, _id, _from_id, _date, _action)); } inline MTPgeochats_statedMessage::MTPgeochats_statedMessage() : mtpDataOwner(new MTPDgeochats_statedMessage()) { } inline uint32 MTPgeochats_statedMessage::size() const { const MTPDgeochats_statedMessage &v(c_geochats_statedMessage()); return v.vmessage.size() + v.vchats.size() + v.vusers.size() + v.vseq.size(); } inline mtpTypeId MTPgeochats_statedMessage::type() const { return mtpc_geochats_statedMessage; } inline void MTPgeochats_statedMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_geochats_statedMessage) throw mtpErrorUnexpected(cons, "MTPgeochats_statedMessage"); if (!data) setData(new MTPDgeochats_statedMessage()); MTPDgeochats_statedMessage &v(_geochats_statedMessage()); v.vmessage.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); v.vseq.read(from, end); } inline void MTPgeochats_statedMessage::write(mtpBuffer &to) const { const MTPDgeochats_statedMessage &v(c_geochats_statedMessage()); v.vmessage.write(to); v.vchats.write(to); v.vusers.write(to); v.vseq.write(to); } inline MTPgeochats_statedMessage::MTPgeochats_statedMessage(MTPDgeochats_statedMessage *_data) : mtpDataOwner(_data) { } inline MTPgeochats_statedMessage MTP_geochats_statedMessage(const MTPGeoChatMessage &_message, const MTPVector &_chats, const MTPVector &_users, MTPint _seq) { return MTPgeochats_statedMessage(new MTPDgeochats_statedMessage(_message, _chats, _users, _seq)); } inline MTPgeochats_located::MTPgeochats_located() : mtpDataOwner(new MTPDgeochats_located()) { } inline uint32 MTPgeochats_located::size() const { const MTPDgeochats_located &v(c_geochats_located()); return v.vresults.size() + v.vmessages.size() + v.vchats.size() + v.vusers.size(); } inline mtpTypeId MTPgeochats_located::type() const { return mtpc_geochats_located; } inline void MTPgeochats_located::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_geochats_located) throw mtpErrorUnexpected(cons, "MTPgeochats_located"); if (!data) setData(new MTPDgeochats_located()); MTPDgeochats_located &v(_geochats_located()); v.vresults.read(from, end); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } inline void MTPgeochats_located::write(mtpBuffer &to) const { const MTPDgeochats_located &v(c_geochats_located()); v.vresults.write(to); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } inline MTPgeochats_located::MTPgeochats_located(MTPDgeochats_located *_data) : mtpDataOwner(_data) { } inline MTPgeochats_located MTP_geochats_located(const MTPVector &_results, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPgeochats_located(new MTPDgeochats_located(_results, _messages, _chats, _users)); } inline uint32 MTPgeochats_messages::size() const { switch (_type) { case mtpc_geochats_messages: { const MTPDgeochats_messages &v(c_geochats_messages()); return v.vmessages.size() + v.vchats.size() + v.vusers.size(); } case mtpc_geochats_messagesSlice: { const MTPDgeochats_messagesSlice &v(c_geochats_messagesSlice()); return v.vcount.size() + v.vmessages.size() + v.vchats.size() + v.vusers.size(); } } return 0; } inline mtpTypeId MTPgeochats_messages::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPgeochats_messages::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_geochats_messages: _type = cons; { if (!data) setData(new MTPDgeochats_messages()); MTPDgeochats_messages &v(_geochats_messages()); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; case mtpc_geochats_messagesSlice: _type = cons; { if (!data) setData(new MTPDgeochats_messagesSlice()); MTPDgeochats_messagesSlice &v(_geochats_messagesSlice()); v.vcount.read(from, end); v.vmessages.read(from, end); v.vchats.read(from, end); v.vusers.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPgeochats_messages"); } } inline void MTPgeochats_messages::write(mtpBuffer &to) const { switch (_type) { case mtpc_geochats_messages: { const MTPDgeochats_messages &v(c_geochats_messages()); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; case mtpc_geochats_messagesSlice: { const MTPDgeochats_messagesSlice &v(c_geochats_messagesSlice()); v.vcount.write(to); v.vmessages.write(to); v.vchats.write(to); v.vusers.write(to); } break; } } inline MTPgeochats_messages::MTPgeochats_messages(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_geochats_messages: setData(new MTPDgeochats_messages()); break; case mtpc_geochats_messagesSlice: setData(new MTPDgeochats_messagesSlice()); break; default: throw mtpErrorBadTypeId(type, "MTPgeochats_messages"); } } inline MTPgeochats_messages::MTPgeochats_messages(MTPDgeochats_messages *_data) : mtpDataOwner(_data), _type(mtpc_geochats_messages) { } inline MTPgeochats_messages::MTPgeochats_messages(MTPDgeochats_messagesSlice *_data) : mtpDataOwner(_data), _type(mtpc_geochats_messagesSlice) { } inline MTPgeochats_messages MTP_geochats_messages(const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPgeochats_messages(new MTPDgeochats_messages(_messages, _chats, _users)); } inline MTPgeochats_messages MTP_geochats_messagesSlice(MTPint _count, const MTPVector &_messages, const MTPVector &_chats, const MTPVector &_users) { return MTPgeochats_messages(new MTPDgeochats_messagesSlice(_count, _messages, _chats, _users)); } inline uint32 MTPencryptedChat::size() const { switch (_type) { case mtpc_encryptedChatEmpty: { const MTPDencryptedChatEmpty &v(c_encryptedChatEmpty()); return v.vid.size(); } case mtpc_encryptedChatWaiting: { const MTPDencryptedChatWaiting &v(c_encryptedChatWaiting()); return v.vid.size() + v.vaccess_hash.size() + v.vdate.size() + v.vadmin_id.size() + v.vparticipant_id.size(); } case mtpc_encryptedChatRequested: { const MTPDencryptedChatRequested &v(c_encryptedChatRequested()); return v.vid.size() + v.vaccess_hash.size() + v.vdate.size() + v.vadmin_id.size() + v.vparticipant_id.size() + v.vg_a.size(); } case mtpc_encryptedChat: { const MTPDencryptedChat &v(c_encryptedChat()); return v.vid.size() + v.vaccess_hash.size() + v.vdate.size() + v.vadmin_id.size() + v.vparticipant_id.size() + v.vg_a_or_b.size() + v.vkey_fingerprint.size(); } case mtpc_encryptedChatDiscarded: { const MTPDencryptedChatDiscarded &v(c_encryptedChatDiscarded()); return v.vid.size(); } } return 0; } inline mtpTypeId MTPencryptedChat::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPencryptedChat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_encryptedChatEmpty: _type = cons; { if (!data) setData(new MTPDencryptedChatEmpty()); MTPDencryptedChatEmpty &v(_encryptedChatEmpty()); v.vid.read(from, end); } break; case mtpc_encryptedChatWaiting: _type = cons; { if (!data) setData(new MTPDencryptedChatWaiting()); MTPDencryptedChatWaiting &v(_encryptedChatWaiting()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vdate.read(from, end); v.vadmin_id.read(from, end); v.vparticipant_id.read(from, end); } break; case mtpc_encryptedChatRequested: _type = cons; { if (!data) setData(new MTPDencryptedChatRequested()); MTPDencryptedChatRequested &v(_encryptedChatRequested()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vdate.read(from, end); v.vadmin_id.read(from, end); v.vparticipant_id.read(from, end); v.vg_a.read(from, end); } break; case mtpc_encryptedChat: _type = cons; { if (!data) setData(new MTPDencryptedChat()); MTPDencryptedChat &v(_encryptedChat()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vdate.read(from, end); v.vadmin_id.read(from, end); v.vparticipant_id.read(from, end); v.vg_a_or_b.read(from, end); v.vkey_fingerprint.read(from, end); } break; case mtpc_encryptedChatDiscarded: _type = cons; { if (!data) setData(new MTPDencryptedChatDiscarded()); MTPDencryptedChatDiscarded &v(_encryptedChatDiscarded()); v.vid.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPencryptedChat"); } } inline void MTPencryptedChat::write(mtpBuffer &to) const { switch (_type) { case mtpc_encryptedChatEmpty: { const MTPDencryptedChatEmpty &v(c_encryptedChatEmpty()); v.vid.write(to); } break; case mtpc_encryptedChatWaiting: { const MTPDencryptedChatWaiting &v(c_encryptedChatWaiting()); v.vid.write(to); v.vaccess_hash.write(to); v.vdate.write(to); v.vadmin_id.write(to); v.vparticipant_id.write(to); } break; case mtpc_encryptedChatRequested: { const MTPDencryptedChatRequested &v(c_encryptedChatRequested()); v.vid.write(to); v.vaccess_hash.write(to); v.vdate.write(to); v.vadmin_id.write(to); v.vparticipant_id.write(to); v.vg_a.write(to); } break; case mtpc_encryptedChat: { const MTPDencryptedChat &v(c_encryptedChat()); v.vid.write(to); v.vaccess_hash.write(to); v.vdate.write(to); v.vadmin_id.write(to); v.vparticipant_id.write(to); v.vg_a_or_b.write(to); v.vkey_fingerprint.write(to); } break; case mtpc_encryptedChatDiscarded: { const MTPDencryptedChatDiscarded &v(c_encryptedChatDiscarded()); v.vid.write(to); } break; } } inline MTPencryptedChat::MTPencryptedChat(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_encryptedChatEmpty: setData(new MTPDencryptedChatEmpty()); break; case mtpc_encryptedChatWaiting: setData(new MTPDencryptedChatWaiting()); break; case mtpc_encryptedChatRequested: setData(new MTPDencryptedChatRequested()); break; case mtpc_encryptedChat: setData(new MTPDencryptedChat()); break; case mtpc_encryptedChatDiscarded: setData(new MTPDencryptedChatDiscarded()); break; default: throw mtpErrorBadTypeId(type, "MTPencryptedChat"); } } inline MTPencryptedChat::MTPencryptedChat(MTPDencryptedChatEmpty *_data) : mtpDataOwner(_data), _type(mtpc_encryptedChatEmpty) { } inline MTPencryptedChat::MTPencryptedChat(MTPDencryptedChatWaiting *_data) : mtpDataOwner(_data), _type(mtpc_encryptedChatWaiting) { } inline MTPencryptedChat::MTPencryptedChat(MTPDencryptedChatRequested *_data) : mtpDataOwner(_data), _type(mtpc_encryptedChatRequested) { } inline MTPencryptedChat::MTPencryptedChat(MTPDencryptedChat *_data) : mtpDataOwner(_data), _type(mtpc_encryptedChat) { } inline MTPencryptedChat::MTPencryptedChat(MTPDencryptedChatDiscarded *_data) : mtpDataOwner(_data), _type(mtpc_encryptedChatDiscarded) { } inline MTPencryptedChat MTP_encryptedChatEmpty(MTPint _id) { return MTPencryptedChat(new MTPDencryptedChatEmpty(_id)); } inline MTPencryptedChat MTP_encryptedChatWaiting(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id) { return MTPencryptedChat(new MTPDencryptedChatWaiting(_id, _access_hash, _date, _admin_id, _participant_id)); } inline MTPencryptedChat MTP_encryptedChatRequested(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a) { return MTPencryptedChat(new MTPDencryptedChatRequested(_id, _access_hash, _date, _admin_id, _participant_id, _g_a)); } inline MTPencryptedChat MTP_encryptedChat(MTPint _id, const MTPlong &_access_hash, MTPint _date, MTPint _admin_id, MTPint _participant_id, const MTPbytes &_g_a_or_b, const MTPlong &_key_fingerprint) { return MTPencryptedChat(new MTPDencryptedChat(_id, _access_hash, _date, _admin_id, _participant_id, _g_a_or_b, _key_fingerprint)); } inline MTPencryptedChat MTP_encryptedChatDiscarded(MTPint _id) { return MTPencryptedChat(new MTPDencryptedChatDiscarded(_id)); } inline MTPinputEncryptedChat::MTPinputEncryptedChat() : mtpDataOwner(new MTPDinputEncryptedChat()) { } inline uint32 MTPinputEncryptedChat::size() const { const MTPDinputEncryptedChat &v(c_inputEncryptedChat()); return v.vchat_id.size() + v.vaccess_hash.size(); } inline mtpTypeId MTPinputEncryptedChat::type() const { return mtpc_inputEncryptedChat; } inline void MTPinputEncryptedChat::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_inputEncryptedChat) throw mtpErrorUnexpected(cons, "MTPinputEncryptedChat"); if (!data) setData(new MTPDinputEncryptedChat()); MTPDinputEncryptedChat &v(_inputEncryptedChat()); v.vchat_id.read(from, end); v.vaccess_hash.read(from, end); } inline void MTPinputEncryptedChat::write(mtpBuffer &to) const { const MTPDinputEncryptedChat &v(c_inputEncryptedChat()); v.vchat_id.write(to); v.vaccess_hash.write(to); } inline MTPinputEncryptedChat::MTPinputEncryptedChat(MTPDinputEncryptedChat *_data) : mtpDataOwner(_data) { } inline MTPinputEncryptedChat MTP_inputEncryptedChat(MTPint _chat_id, const MTPlong &_access_hash) { return MTPinputEncryptedChat(new MTPDinputEncryptedChat(_chat_id, _access_hash)); } inline uint32 MTPencryptedFile::size() const { switch (_type) { case mtpc_encryptedFile: { const MTPDencryptedFile &v(c_encryptedFile()); return v.vid.size() + v.vaccess_hash.size() + v.vsize.size() + v.vdc_id.size() + v.vkey_fingerprint.size(); } } return 0; } inline mtpTypeId MTPencryptedFile::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPencryptedFile::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_encryptedFileEmpty: _type = cons; break; case mtpc_encryptedFile: _type = cons; { if (!data) setData(new MTPDencryptedFile()); MTPDencryptedFile &v(_encryptedFile()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vsize.read(from, end); v.vdc_id.read(from, end); v.vkey_fingerprint.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPencryptedFile"); } } inline void MTPencryptedFile::write(mtpBuffer &to) const { switch (_type) { case mtpc_encryptedFile: { const MTPDencryptedFile &v(c_encryptedFile()); v.vid.write(to); v.vaccess_hash.write(to); v.vsize.write(to); v.vdc_id.write(to); v.vkey_fingerprint.write(to); } break; } } inline MTPencryptedFile::MTPencryptedFile(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_encryptedFileEmpty: break; case mtpc_encryptedFile: setData(new MTPDencryptedFile()); break; default: throw mtpErrorBadTypeId(type, "MTPencryptedFile"); } } inline MTPencryptedFile::MTPencryptedFile(MTPDencryptedFile *_data) : mtpDataOwner(_data), _type(mtpc_encryptedFile) { } inline MTPencryptedFile MTP_encryptedFileEmpty() { return MTPencryptedFile(mtpc_encryptedFileEmpty); } inline MTPencryptedFile MTP_encryptedFile(const MTPlong &_id, const MTPlong &_access_hash, MTPint _size, MTPint _dc_id, MTPint _key_fingerprint) { return MTPencryptedFile(new MTPDencryptedFile(_id, _access_hash, _size, _dc_id, _key_fingerprint)); } inline uint32 MTPinputEncryptedFile::size() const { switch (_type) { case mtpc_inputEncryptedFileUploaded: { const MTPDinputEncryptedFileUploaded &v(c_inputEncryptedFileUploaded()); return v.vid.size() + v.vparts.size() + v.vmd5_checksum.size() + v.vkey_fingerprint.size(); } case mtpc_inputEncryptedFile: { const MTPDinputEncryptedFile &v(c_inputEncryptedFile()); return v.vid.size() + v.vaccess_hash.size(); } case mtpc_inputEncryptedFileBigUploaded: { const MTPDinputEncryptedFileBigUploaded &v(c_inputEncryptedFileBigUploaded()); return v.vid.size() + v.vparts.size() + v.vkey_fingerprint.size(); } } return 0; } inline mtpTypeId MTPinputEncryptedFile::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputEncryptedFile::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputEncryptedFileEmpty: _type = cons; break; case mtpc_inputEncryptedFileUploaded: _type = cons; { if (!data) setData(new MTPDinputEncryptedFileUploaded()); MTPDinputEncryptedFileUploaded &v(_inputEncryptedFileUploaded()); v.vid.read(from, end); v.vparts.read(from, end); v.vmd5_checksum.read(from, end); v.vkey_fingerprint.read(from, end); } break; case mtpc_inputEncryptedFile: _type = cons; { if (!data) setData(new MTPDinputEncryptedFile()); MTPDinputEncryptedFile &v(_inputEncryptedFile()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; case mtpc_inputEncryptedFileBigUploaded: _type = cons; { if (!data) setData(new MTPDinputEncryptedFileBigUploaded()); MTPDinputEncryptedFileBigUploaded &v(_inputEncryptedFileBigUploaded()); v.vid.read(from, end); v.vparts.read(from, end); v.vkey_fingerprint.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputEncryptedFile"); } } inline void MTPinputEncryptedFile::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputEncryptedFileUploaded: { const MTPDinputEncryptedFileUploaded &v(c_inputEncryptedFileUploaded()); v.vid.write(to); v.vparts.write(to); v.vmd5_checksum.write(to); v.vkey_fingerprint.write(to); } break; case mtpc_inputEncryptedFile: { const MTPDinputEncryptedFile &v(c_inputEncryptedFile()); v.vid.write(to); v.vaccess_hash.write(to); } break; case mtpc_inputEncryptedFileBigUploaded: { const MTPDinputEncryptedFileBigUploaded &v(c_inputEncryptedFileBigUploaded()); v.vid.write(to); v.vparts.write(to); v.vkey_fingerprint.write(to); } break; } } inline MTPinputEncryptedFile::MTPinputEncryptedFile(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputEncryptedFileEmpty: break; case mtpc_inputEncryptedFileUploaded: setData(new MTPDinputEncryptedFileUploaded()); break; case mtpc_inputEncryptedFile: setData(new MTPDinputEncryptedFile()); break; case mtpc_inputEncryptedFileBigUploaded: setData(new MTPDinputEncryptedFileBigUploaded()); break; default: throw mtpErrorBadTypeId(type, "MTPinputEncryptedFile"); } } inline MTPinputEncryptedFile::MTPinputEncryptedFile(MTPDinputEncryptedFileUploaded *_data) : mtpDataOwner(_data), _type(mtpc_inputEncryptedFileUploaded) { } inline MTPinputEncryptedFile::MTPinputEncryptedFile(MTPDinputEncryptedFile *_data) : mtpDataOwner(_data), _type(mtpc_inputEncryptedFile) { } inline MTPinputEncryptedFile::MTPinputEncryptedFile(MTPDinputEncryptedFileBigUploaded *_data) : mtpDataOwner(_data), _type(mtpc_inputEncryptedFileBigUploaded) { } inline MTPinputEncryptedFile MTP_inputEncryptedFileEmpty() { return MTPinputEncryptedFile(mtpc_inputEncryptedFileEmpty); } inline MTPinputEncryptedFile MTP_inputEncryptedFileUploaded(const MTPlong &_id, MTPint _parts, const MTPstring &_md5_checksum, MTPint _key_fingerprint) { return MTPinputEncryptedFile(new MTPDinputEncryptedFileUploaded(_id, _parts, _md5_checksum, _key_fingerprint)); } inline MTPinputEncryptedFile MTP_inputEncryptedFile(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputEncryptedFile(new MTPDinputEncryptedFile(_id, _access_hash)); } inline MTPinputEncryptedFile MTP_inputEncryptedFileBigUploaded(const MTPlong &_id, MTPint _parts, MTPint _key_fingerprint) { return MTPinputEncryptedFile(new MTPDinputEncryptedFileBigUploaded(_id, _parts, _key_fingerprint)); } inline uint32 MTPencryptedMessage::size() const { switch (_type) { case mtpc_encryptedMessage: { const MTPDencryptedMessage &v(c_encryptedMessage()); return v.vrandom_id.size() + v.vchat_id.size() + v.vdate.size() + v.vbytes.size() + v.vfile.size(); } case mtpc_encryptedMessageService: { const MTPDencryptedMessageService &v(c_encryptedMessageService()); return v.vrandom_id.size() + v.vchat_id.size() + v.vdate.size() + v.vbytes.size(); } } return 0; } inline mtpTypeId MTPencryptedMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPencryptedMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_encryptedMessage: _type = cons; { if (!data) setData(new MTPDencryptedMessage()); MTPDencryptedMessage &v(_encryptedMessage()); v.vrandom_id.read(from, end); v.vchat_id.read(from, end); v.vdate.read(from, end); v.vbytes.read(from, end); v.vfile.read(from, end); } break; case mtpc_encryptedMessageService: _type = cons; { if (!data) setData(new MTPDencryptedMessageService()); MTPDencryptedMessageService &v(_encryptedMessageService()); v.vrandom_id.read(from, end); v.vchat_id.read(from, end); v.vdate.read(from, end); v.vbytes.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPencryptedMessage"); } } inline void MTPencryptedMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_encryptedMessage: { const MTPDencryptedMessage &v(c_encryptedMessage()); v.vrandom_id.write(to); v.vchat_id.write(to); v.vdate.write(to); v.vbytes.write(to); v.vfile.write(to); } break; case mtpc_encryptedMessageService: { const MTPDencryptedMessageService &v(c_encryptedMessageService()); v.vrandom_id.write(to); v.vchat_id.write(to); v.vdate.write(to); v.vbytes.write(to); } break; } } inline MTPencryptedMessage::MTPencryptedMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_encryptedMessage: setData(new MTPDencryptedMessage()); break; case mtpc_encryptedMessageService: setData(new MTPDencryptedMessageService()); break; default: throw mtpErrorBadTypeId(type, "MTPencryptedMessage"); } } inline MTPencryptedMessage::MTPencryptedMessage(MTPDencryptedMessage *_data) : mtpDataOwner(_data), _type(mtpc_encryptedMessage) { } inline MTPencryptedMessage::MTPencryptedMessage(MTPDencryptedMessageService *_data) : mtpDataOwner(_data), _type(mtpc_encryptedMessageService) { } inline MTPencryptedMessage MTP_encryptedMessage(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes, const MTPEncryptedFile &_file) { return MTPencryptedMessage(new MTPDencryptedMessage(_random_id, _chat_id, _date, _bytes, _file)); } inline MTPencryptedMessage MTP_encryptedMessageService(const MTPlong &_random_id, MTPint _chat_id, MTPint _date, const MTPbytes &_bytes) { return MTPencryptedMessage(new MTPDencryptedMessageService(_random_id, _chat_id, _date, _bytes)); } inline MTPdecryptedMessageLayer::MTPdecryptedMessageLayer() : mtpDataOwner(new MTPDdecryptedMessageLayer()) { } inline uint32 MTPdecryptedMessageLayer::size() const { const MTPDdecryptedMessageLayer &v(c_decryptedMessageLayer()); return v.vlayer.size() + v.vmessage.size(); } inline mtpTypeId MTPdecryptedMessageLayer::type() const { return mtpc_decryptedMessageLayer; } inline void MTPdecryptedMessageLayer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_decryptedMessageLayer) throw mtpErrorUnexpected(cons, "MTPdecryptedMessageLayer"); if (!data) setData(new MTPDdecryptedMessageLayer()); MTPDdecryptedMessageLayer &v(_decryptedMessageLayer()); v.vlayer.read(from, end); v.vmessage.read(from, end); } inline void MTPdecryptedMessageLayer::write(mtpBuffer &to) const { const MTPDdecryptedMessageLayer &v(c_decryptedMessageLayer()); v.vlayer.write(to); v.vmessage.write(to); } inline MTPdecryptedMessageLayer::MTPdecryptedMessageLayer(MTPDdecryptedMessageLayer *_data) : mtpDataOwner(_data) { } inline MTPdecryptedMessageLayer MTP_decryptedMessageLayer(MTPint _layer, const MTPDecryptedMessage &_message) { return MTPdecryptedMessageLayer(new MTPDdecryptedMessageLayer(_layer, _message)); } inline uint32 MTPdecryptedMessage::size() const { switch (_type) { case mtpc_decryptedMessage: { const MTPDdecryptedMessage &v(c_decryptedMessage()); return v.vrandom_id.size() + v.vrandom_bytes.size() + v.vmessage.size() + v.vmedia.size(); } case mtpc_decryptedMessageService: { const MTPDdecryptedMessageService &v(c_decryptedMessageService()); return v.vrandom_id.size() + v.vrandom_bytes.size() + v.vaction.size(); } } return 0; } inline mtpTypeId MTPdecryptedMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPdecryptedMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_decryptedMessage: _type = cons; { if (!data) setData(new MTPDdecryptedMessage()); MTPDdecryptedMessage &v(_decryptedMessage()); v.vrandom_id.read(from, end); v.vrandom_bytes.read(from, end); v.vmessage.read(from, end); v.vmedia.read(from, end); } break; case mtpc_decryptedMessageService: _type = cons; { if (!data) setData(new MTPDdecryptedMessageService()); MTPDdecryptedMessageService &v(_decryptedMessageService()); v.vrandom_id.read(from, end); v.vrandom_bytes.read(from, end); v.vaction.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPdecryptedMessage"); } } inline void MTPdecryptedMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_decryptedMessage: { const MTPDdecryptedMessage &v(c_decryptedMessage()); v.vrandom_id.write(to); v.vrandom_bytes.write(to); v.vmessage.write(to); v.vmedia.write(to); } break; case mtpc_decryptedMessageService: { const MTPDdecryptedMessageService &v(c_decryptedMessageService()); v.vrandom_id.write(to); v.vrandom_bytes.write(to); v.vaction.write(to); } break; } } inline MTPdecryptedMessage::MTPdecryptedMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_decryptedMessage: setData(new MTPDdecryptedMessage()); break; case mtpc_decryptedMessageService: setData(new MTPDdecryptedMessageService()); break; default: throw mtpErrorBadTypeId(type, "MTPdecryptedMessage"); } } inline MTPdecryptedMessage::MTPdecryptedMessage(MTPDdecryptedMessage *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessage) { } inline MTPdecryptedMessage::MTPdecryptedMessage(MTPDdecryptedMessageService *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageService) { } inline MTPdecryptedMessage MTP_decryptedMessage(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPstring &_message, const MTPDecryptedMessageMedia &_media) { return MTPdecryptedMessage(new MTPDdecryptedMessage(_random_id, _random_bytes, _message, _media)); } inline MTPdecryptedMessage MTP_decryptedMessageService(const MTPlong &_random_id, const MTPbytes &_random_bytes, const MTPDecryptedMessageAction &_action) { return MTPdecryptedMessage(new MTPDdecryptedMessageService(_random_id, _random_bytes, _action)); } inline uint32 MTPdecryptedMessageMedia::size() const { switch (_type) { case mtpc_decryptedMessageMediaPhoto: { const MTPDdecryptedMessageMediaPhoto &v(c_decryptedMessageMediaPhoto()); return v.vthumb.size() + v.vthumb_w.size() + v.vthumb_h.size() + v.vw.size() + v.vh.size() + v.vsize.size() + v.vkey.size() + v.viv.size(); } case mtpc_decryptedMessageMediaVideo: { const MTPDdecryptedMessageMediaVideo &v(c_decryptedMessageMediaVideo()); return v.vthumb.size() + v.vthumb_w.size() + v.vthumb_h.size() + v.vduration.size() + v.vmime_type.size() + v.vw.size() + v.vh.size() + v.vsize.size() + v.vkey.size() + v.viv.size(); } case mtpc_decryptedMessageMediaGeoPoint: { const MTPDdecryptedMessageMediaGeoPoint &v(c_decryptedMessageMediaGeoPoint()); return v.vlat.size() + v.vlong.size(); } case mtpc_decryptedMessageMediaContact: { const MTPDdecryptedMessageMediaContact &v(c_decryptedMessageMediaContact()); return v.vphone_number.size() + v.vfirst_name.size() + v.vlast_name.size() + v.vuser_id.size(); } case mtpc_decryptedMessageMediaDocument: { const MTPDdecryptedMessageMediaDocument &v(c_decryptedMessageMediaDocument()); return v.vthumb.size() + v.vthumb_w.size() + v.vthumb_h.size() + v.vfile_name.size() + v.vmime_type.size() + v.vsize.size() + v.vkey.size() + v.viv.size(); } case mtpc_decryptedMessageMediaAudio: { const MTPDdecryptedMessageMediaAudio &v(c_decryptedMessageMediaAudio()); return v.vduration.size() + v.vmime_type.size() + v.vsize.size() + v.vkey.size() + v.viv.size(); } } return 0; } inline mtpTypeId MTPdecryptedMessageMedia::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPdecryptedMessageMedia::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_decryptedMessageMediaEmpty: _type = cons; break; case mtpc_decryptedMessageMediaPhoto: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaPhoto()); MTPDdecryptedMessageMediaPhoto &v(_decryptedMessageMediaPhoto()); v.vthumb.read(from, end); v.vthumb_w.read(from, end); v.vthumb_h.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vsize.read(from, end); v.vkey.read(from, end); v.viv.read(from, end); } break; case mtpc_decryptedMessageMediaVideo: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaVideo()); MTPDdecryptedMessageMediaVideo &v(_decryptedMessageMediaVideo()); v.vthumb.read(from, end); v.vthumb_w.read(from, end); v.vthumb_h.read(from, end); v.vduration.read(from, end); v.vmime_type.read(from, end); v.vw.read(from, end); v.vh.read(from, end); v.vsize.read(from, end); v.vkey.read(from, end); v.viv.read(from, end); } break; case mtpc_decryptedMessageMediaGeoPoint: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaGeoPoint()); MTPDdecryptedMessageMediaGeoPoint &v(_decryptedMessageMediaGeoPoint()); v.vlat.read(from, end); v.vlong.read(from, end); } break; case mtpc_decryptedMessageMediaContact: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaContact()); MTPDdecryptedMessageMediaContact &v(_decryptedMessageMediaContact()); v.vphone_number.read(from, end); v.vfirst_name.read(from, end); v.vlast_name.read(from, end); v.vuser_id.read(from, end); } break; case mtpc_decryptedMessageMediaDocument: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaDocument()); MTPDdecryptedMessageMediaDocument &v(_decryptedMessageMediaDocument()); v.vthumb.read(from, end); v.vthumb_w.read(from, end); v.vthumb_h.read(from, end); v.vfile_name.read(from, end); v.vmime_type.read(from, end); v.vsize.read(from, end); v.vkey.read(from, end); v.viv.read(from, end); } break; case mtpc_decryptedMessageMediaAudio: _type = cons; { if (!data) setData(new MTPDdecryptedMessageMediaAudio()); MTPDdecryptedMessageMediaAudio &v(_decryptedMessageMediaAudio()); v.vduration.read(from, end); v.vmime_type.read(from, end); v.vsize.read(from, end); v.vkey.read(from, end); v.viv.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPdecryptedMessageMedia"); } } inline void MTPdecryptedMessageMedia::write(mtpBuffer &to) const { switch (_type) { case mtpc_decryptedMessageMediaPhoto: { const MTPDdecryptedMessageMediaPhoto &v(c_decryptedMessageMediaPhoto()); v.vthumb.write(to); v.vthumb_w.write(to); v.vthumb_h.write(to); v.vw.write(to); v.vh.write(to); v.vsize.write(to); v.vkey.write(to); v.viv.write(to); } break; case mtpc_decryptedMessageMediaVideo: { const MTPDdecryptedMessageMediaVideo &v(c_decryptedMessageMediaVideo()); v.vthumb.write(to); v.vthumb_w.write(to); v.vthumb_h.write(to); v.vduration.write(to); v.vmime_type.write(to); v.vw.write(to); v.vh.write(to); v.vsize.write(to); v.vkey.write(to); v.viv.write(to); } break; case mtpc_decryptedMessageMediaGeoPoint: { const MTPDdecryptedMessageMediaGeoPoint &v(c_decryptedMessageMediaGeoPoint()); v.vlat.write(to); v.vlong.write(to); } break; case mtpc_decryptedMessageMediaContact: { const MTPDdecryptedMessageMediaContact &v(c_decryptedMessageMediaContact()); v.vphone_number.write(to); v.vfirst_name.write(to); v.vlast_name.write(to); v.vuser_id.write(to); } break; case mtpc_decryptedMessageMediaDocument: { const MTPDdecryptedMessageMediaDocument &v(c_decryptedMessageMediaDocument()); v.vthumb.write(to); v.vthumb_w.write(to); v.vthumb_h.write(to); v.vfile_name.write(to); v.vmime_type.write(to); v.vsize.write(to); v.vkey.write(to); v.viv.write(to); } break; case mtpc_decryptedMessageMediaAudio: { const MTPDdecryptedMessageMediaAudio &v(c_decryptedMessageMediaAudio()); v.vduration.write(to); v.vmime_type.write(to); v.vsize.write(to); v.vkey.write(to); v.viv.write(to); } break; } } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_decryptedMessageMediaEmpty: break; case mtpc_decryptedMessageMediaPhoto: setData(new MTPDdecryptedMessageMediaPhoto()); break; case mtpc_decryptedMessageMediaVideo: setData(new MTPDdecryptedMessageMediaVideo()); break; case mtpc_decryptedMessageMediaGeoPoint: setData(new MTPDdecryptedMessageMediaGeoPoint()); break; case mtpc_decryptedMessageMediaContact: setData(new MTPDdecryptedMessageMediaContact()); break; case mtpc_decryptedMessageMediaDocument: setData(new MTPDdecryptedMessageMediaDocument()); break; case mtpc_decryptedMessageMediaAudio: setData(new MTPDdecryptedMessageMediaAudio()); break; default: throw mtpErrorBadTypeId(type, "MTPdecryptedMessageMedia"); } } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaPhoto *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaPhoto) { } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaVideo *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaVideo) { } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaGeoPoint *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaGeoPoint) { } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaContact *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaContact) { } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaDocument *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaDocument) { } inline MTPdecryptedMessageMedia::MTPdecryptedMessageMedia(MTPDdecryptedMessageMediaAudio *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageMediaAudio) { } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaEmpty() { return MTPdecryptedMessageMedia(mtpc_decryptedMessageMediaEmpty); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaPhoto(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaPhoto(_thumb, _thumb_w, _thumb_h, _w, _h, _size, _key, _iv)); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaVideo(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, MTPint _duration, const MTPstring &_mime_type, MTPint _w, MTPint _h, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaVideo(_thumb, _thumb_w, _thumb_h, _duration, _mime_type, _w, _h, _size, _key, _iv)); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaGeoPoint(const MTPdouble &_lat, const MTPdouble &_long) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaGeoPoint(_lat, _long)); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaContact(const MTPstring &_phone_number, const MTPstring &_first_name, const MTPstring &_last_name, MTPint _user_id) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaContact(_phone_number, _first_name, _last_name, _user_id)); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaDocument(const MTPbytes &_thumb, MTPint _thumb_w, MTPint _thumb_h, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaDocument(_thumb, _thumb_w, _thumb_h, _file_name, _mime_type, _size, _key, _iv)); } inline MTPdecryptedMessageMedia MTP_decryptedMessageMediaAudio(MTPint _duration, const MTPstring &_mime_type, MTPint _size, const MTPbytes &_key, const MTPbytes &_iv) { return MTPdecryptedMessageMedia(new MTPDdecryptedMessageMediaAudio(_duration, _mime_type, _size, _key, _iv)); } inline uint32 MTPdecryptedMessageAction::size() const { switch (_type) { case mtpc_decryptedMessageActionSetMessageTTL: { const MTPDdecryptedMessageActionSetMessageTTL &v(c_decryptedMessageActionSetMessageTTL()); return v.vttl_seconds.size(); } case mtpc_decryptedMessageActionReadMessages: { const MTPDdecryptedMessageActionReadMessages &v(c_decryptedMessageActionReadMessages()); return v.vrandom_ids.size(); } case mtpc_decryptedMessageActionDeleteMessages: { const MTPDdecryptedMessageActionDeleteMessages &v(c_decryptedMessageActionDeleteMessages()); return v.vrandom_ids.size(); } case mtpc_decryptedMessageActionScreenshotMessages: { const MTPDdecryptedMessageActionScreenshotMessages &v(c_decryptedMessageActionScreenshotMessages()); return v.vrandom_ids.size(); } case mtpc_decryptedMessageActionNotifyLayer: { const MTPDdecryptedMessageActionNotifyLayer &v(c_decryptedMessageActionNotifyLayer()); return v.vlayer.size(); } } return 0; } inline mtpTypeId MTPdecryptedMessageAction::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPdecryptedMessageAction::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_decryptedMessageActionSetMessageTTL: _type = cons; { if (!data) setData(new MTPDdecryptedMessageActionSetMessageTTL()); MTPDdecryptedMessageActionSetMessageTTL &v(_decryptedMessageActionSetMessageTTL()); v.vttl_seconds.read(from, end); } break; case mtpc_decryptedMessageActionReadMessages: _type = cons; { if (!data) setData(new MTPDdecryptedMessageActionReadMessages()); MTPDdecryptedMessageActionReadMessages &v(_decryptedMessageActionReadMessages()); v.vrandom_ids.read(from, end); } break; case mtpc_decryptedMessageActionDeleteMessages: _type = cons; { if (!data) setData(new MTPDdecryptedMessageActionDeleteMessages()); MTPDdecryptedMessageActionDeleteMessages &v(_decryptedMessageActionDeleteMessages()); v.vrandom_ids.read(from, end); } break; case mtpc_decryptedMessageActionScreenshotMessages: _type = cons; { if (!data) setData(new MTPDdecryptedMessageActionScreenshotMessages()); MTPDdecryptedMessageActionScreenshotMessages &v(_decryptedMessageActionScreenshotMessages()); v.vrandom_ids.read(from, end); } break; case mtpc_decryptedMessageActionFlushHistory: _type = cons; break; case mtpc_decryptedMessageActionNotifyLayer: _type = cons; { if (!data) setData(new MTPDdecryptedMessageActionNotifyLayer()); MTPDdecryptedMessageActionNotifyLayer &v(_decryptedMessageActionNotifyLayer()); v.vlayer.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPdecryptedMessageAction"); } } inline void MTPdecryptedMessageAction::write(mtpBuffer &to) const { switch (_type) { case mtpc_decryptedMessageActionSetMessageTTL: { const MTPDdecryptedMessageActionSetMessageTTL &v(c_decryptedMessageActionSetMessageTTL()); v.vttl_seconds.write(to); } break; case mtpc_decryptedMessageActionReadMessages: { const MTPDdecryptedMessageActionReadMessages &v(c_decryptedMessageActionReadMessages()); v.vrandom_ids.write(to); } break; case mtpc_decryptedMessageActionDeleteMessages: { const MTPDdecryptedMessageActionDeleteMessages &v(c_decryptedMessageActionDeleteMessages()); v.vrandom_ids.write(to); } break; case mtpc_decryptedMessageActionScreenshotMessages: { const MTPDdecryptedMessageActionScreenshotMessages &v(c_decryptedMessageActionScreenshotMessages()); v.vrandom_ids.write(to); } break; case mtpc_decryptedMessageActionNotifyLayer: { const MTPDdecryptedMessageActionNotifyLayer &v(c_decryptedMessageActionNotifyLayer()); v.vlayer.write(to); } break; } } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_decryptedMessageActionSetMessageTTL: setData(new MTPDdecryptedMessageActionSetMessageTTL()); break; case mtpc_decryptedMessageActionReadMessages: setData(new MTPDdecryptedMessageActionReadMessages()); break; case mtpc_decryptedMessageActionDeleteMessages: setData(new MTPDdecryptedMessageActionDeleteMessages()); break; case mtpc_decryptedMessageActionScreenshotMessages: setData(new MTPDdecryptedMessageActionScreenshotMessages()); break; case mtpc_decryptedMessageActionFlushHistory: break; case mtpc_decryptedMessageActionNotifyLayer: setData(new MTPDdecryptedMessageActionNotifyLayer()); break; default: throw mtpErrorBadTypeId(type, "MTPdecryptedMessageAction"); } } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(MTPDdecryptedMessageActionSetMessageTTL *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageActionSetMessageTTL) { } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(MTPDdecryptedMessageActionReadMessages *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageActionReadMessages) { } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(MTPDdecryptedMessageActionDeleteMessages *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageActionDeleteMessages) { } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(MTPDdecryptedMessageActionScreenshotMessages *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageActionScreenshotMessages) { } inline MTPdecryptedMessageAction::MTPdecryptedMessageAction(MTPDdecryptedMessageActionNotifyLayer *_data) : mtpDataOwner(_data), _type(mtpc_decryptedMessageActionNotifyLayer) { } inline MTPdecryptedMessageAction MTP_decryptedMessageActionSetMessageTTL(MTPint _ttl_seconds) { return MTPdecryptedMessageAction(new MTPDdecryptedMessageActionSetMessageTTL(_ttl_seconds)); } inline MTPdecryptedMessageAction MTP_decryptedMessageActionReadMessages(const MTPVector &_random_ids) { return MTPdecryptedMessageAction(new MTPDdecryptedMessageActionReadMessages(_random_ids)); } inline MTPdecryptedMessageAction MTP_decryptedMessageActionDeleteMessages(const MTPVector &_random_ids) { return MTPdecryptedMessageAction(new MTPDdecryptedMessageActionDeleteMessages(_random_ids)); } inline MTPdecryptedMessageAction MTP_decryptedMessageActionScreenshotMessages(const MTPVector &_random_ids) { return MTPdecryptedMessageAction(new MTPDdecryptedMessageActionScreenshotMessages(_random_ids)); } inline MTPdecryptedMessageAction MTP_decryptedMessageActionFlushHistory() { return MTPdecryptedMessageAction(mtpc_decryptedMessageActionFlushHistory); } inline MTPdecryptedMessageAction MTP_decryptedMessageActionNotifyLayer(MTPint _layer) { return MTPdecryptedMessageAction(new MTPDdecryptedMessageActionNotifyLayer(_layer)); } inline uint32 MTPmessages_dhConfig::size() const { switch (_type) { case mtpc_messages_dhConfigNotModified: { const MTPDmessages_dhConfigNotModified &v(c_messages_dhConfigNotModified()); return v.vrandom.size(); } case mtpc_messages_dhConfig: { const MTPDmessages_dhConfig &v(c_messages_dhConfig()); return v.vg.size() + v.vp.size() + v.vversion.size() + v.vrandom.size(); } } return 0; } inline mtpTypeId MTPmessages_dhConfig::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_dhConfig::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_dhConfigNotModified: _type = cons; { if (!data) setData(new MTPDmessages_dhConfigNotModified()); MTPDmessages_dhConfigNotModified &v(_messages_dhConfigNotModified()); v.vrandom.read(from, end); } break; case mtpc_messages_dhConfig: _type = cons; { if (!data) setData(new MTPDmessages_dhConfig()); MTPDmessages_dhConfig &v(_messages_dhConfig()); v.vg.read(from, end); v.vp.read(from, end); v.vversion.read(from, end); v.vrandom.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_dhConfig"); } } inline void MTPmessages_dhConfig::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_dhConfigNotModified: { const MTPDmessages_dhConfigNotModified &v(c_messages_dhConfigNotModified()); v.vrandom.write(to); } break; case mtpc_messages_dhConfig: { const MTPDmessages_dhConfig &v(c_messages_dhConfig()); v.vg.write(to); v.vp.write(to); v.vversion.write(to); v.vrandom.write(to); } break; } } inline MTPmessages_dhConfig::MTPmessages_dhConfig(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_dhConfigNotModified: setData(new MTPDmessages_dhConfigNotModified()); break; case mtpc_messages_dhConfig: setData(new MTPDmessages_dhConfig()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_dhConfig"); } } inline MTPmessages_dhConfig::MTPmessages_dhConfig(MTPDmessages_dhConfigNotModified *_data) : mtpDataOwner(_data), _type(mtpc_messages_dhConfigNotModified) { } inline MTPmessages_dhConfig::MTPmessages_dhConfig(MTPDmessages_dhConfig *_data) : mtpDataOwner(_data), _type(mtpc_messages_dhConfig) { } inline MTPmessages_dhConfig MTP_messages_dhConfigNotModified(const MTPbytes &_random) { return MTPmessages_dhConfig(new MTPDmessages_dhConfigNotModified(_random)); } inline MTPmessages_dhConfig MTP_messages_dhConfig(MTPint _g, const MTPbytes &_p, MTPint _version, const MTPbytes &_random) { return MTPmessages_dhConfig(new MTPDmessages_dhConfig(_g, _p, _version, _random)); } inline uint32 MTPmessages_sentEncryptedMessage::size() const { switch (_type) { case mtpc_messages_sentEncryptedMessage: { const MTPDmessages_sentEncryptedMessage &v(c_messages_sentEncryptedMessage()); return v.vdate.size(); } case mtpc_messages_sentEncryptedFile: { const MTPDmessages_sentEncryptedFile &v(c_messages_sentEncryptedFile()); return v.vdate.size() + v.vfile.size(); } } return 0; } inline mtpTypeId MTPmessages_sentEncryptedMessage::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPmessages_sentEncryptedMessage::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_messages_sentEncryptedMessage: _type = cons; { if (!data) setData(new MTPDmessages_sentEncryptedMessage()); MTPDmessages_sentEncryptedMessage &v(_messages_sentEncryptedMessage()); v.vdate.read(from, end); } break; case mtpc_messages_sentEncryptedFile: _type = cons; { if (!data) setData(new MTPDmessages_sentEncryptedFile()); MTPDmessages_sentEncryptedFile &v(_messages_sentEncryptedFile()); v.vdate.read(from, end); v.vfile.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPmessages_sentEncryptedMessage"); } } inline void MTPmessages_sentEncryptedMessage::write(mtpBuffer &to) const { switch (_type) { case mtpc_messages_sentEncryptedMessage: { const MTPDmessages_sentEncryptedMessage &v(c_messages_sentEncryptedMessage()); v.vdate.write(to); } break; case mtpc_messages_sentEncryptedFile: { const MTPDmessages_sentEncryptedFile &v(c_messages_sentEncryptedFile()); v.vdate.write(to); v.vfile.write(to); } break; } } inline MTPmessages_sentEncryptedMessage::MTPmessages_sentEncryptedMessage(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_messages_sentEncryptedMessage: setData(new MTPDmessages_sentEncryptedMessage()); break; case mtpc_messages_sentEncryptedFile: setData(new MTPDmessages_sentEncryptedFile()); break; default: throw mtpErrorBadTypeId(type, "MTPmessages_sentEncryptedMessage"); } } inline MTPmessages_sentEncryptedMessage::MTPmessages_sentEncryptedMessage(MTPDmessages_sentEncryptedMessage *_data) : mtpDataOwner(_data), _type(mtpc_messages_sentEncryptedMessage) { } inline MTPmessages_sentEncryptedMessage::MTPmessages_sentEncryptedMessage(MTPDmessages_sentEncryptedFile *_data) : mtpDataOwner(_data), _type(mtpc_messages_sentEncryptedFile) { } inline MTPmessages_sentEncryptedMessage MTP_messages_sentEncryptedMessage(MTPint _date) { return MTPmessages_sentEncryptedMessage(new MTPDmessages_sentEncryptedMessage(_date)); } inline MTPmessages_sentEncryptedMessage MTP_messages_sentEncryptedFile(MTPint _date, const MTPEncryptedFile &_file) { return MTPmessages_sentEncryptedMessage(new MTPDmessages_sentEncryptedFile(_date, _file)); } inline uint32 MTPinputAudio::size() const { switch (_type) { case mtpc_inputAudio: { const MTPDinputAudio &v(c_inputAudio()); return v.vid.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputAudio::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputAudio::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputAudioEmpty: _type = cons; break; case mtpc_inputAudio: _type = cons; { if (!data) setData(new MTPDinputAudio()); MTPDinputAudio &v(_inputAudio()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputAudio"); } } inline void MTPinputAudio::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputAudio: { const MTPDinputAudio &v(c_inputAudio()); v.vid.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputAudio::MTPinputAudio(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputAudioEmpty: break; case mtpc_inputAudio: setData(new MTPDinputAudio()); break; default: throw mtpErrorBadTypeId(type, "MTPinputAudio"); } } inline MTPinputAudio::MTPinputAudio(MTPDinputAudio *_data) : mtpDataOwner(_data), _type(mtpc_inputAudio) { } inline MTPinputAudio MTP_inputAudioEmpty() { return MTPinputAudio(mtpc_inputAudioEmpty); } inline MTPinputAudio MTP_inputAudio(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputAudio(new MTPDinputAudio(_id, _access_hash)); } inline uint32 MTPinputDocument::size() const { switch (_type) { case mtpc_inputDocument: { const MTPDinputDocument &v(c_inputDocument()); return v.vid.size() + v.vaccess_hash.size(); } } return 0; } inline mtpTypeId MTPinputDocument::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPinputDocument::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_inputDocumentEmpty: _type = cons; break; case mtpc_inputDocument: _type = cons; { if (!data) setData(new MTPDinputDocument()); MTPDinputDocument &v(_inputDocument()); v.vid.read(from, end); v.vaccess_hash.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPinputDocument"); } } inline void MTPinputDocument::write(mtpBuffer &to) const { switch (_type) { case mtpc_inputDocument: { const MTPDinputDocument &v(c_inputDocument()); v.vid.write(to); v.vaccess_hash.write(to); } break; } } inline MTPinputDocument::MTPinputDocument(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_inputDocumentEmpty: break; case mtpc_inputDocument: setData(new MTPDinputDocument()); break; default: throw mtpErrorBadTypeId(type, "MTPinputDocument"); } } inline MTPinputDocument::MTPinputDocument(MTPDinputDocument *_data) : mtpDataOwner(_data), _type(mtpc_inputDocument) { } inline MTPinputDocument MTP_inputDocumentEmpty() { return MTPinputDocument(mtpc_inputDocumentEmpty); } inline MTPinputDocument MTP_inputDocument(const MTPlong &_id, const MTPlong &_access_hash) { return MTPinputDocument(new MTPDinputDocument(_id, _access_hash)); } inline uint32 MTPaudio::size() const { switch (_type) { case mtpc_audioEmpty: { const MTPDaudioEmpty &v(c_audioEmpty()); return v.vid.size(); } case mtpc_audio: { const MTPDaudio &v(c_audio()); return v.vid.size() + v.vaccess_hash.size() + v.vuser_id.size() + v.vdate.size() + v.vduration.size() + v.vmime_type.size() + v.vsize.size() + v.vdc_id.size(); } } return 0; } inline mtpTypeId MTPaudio::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPaudio::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_audioEmpty: _type = cons; { if (!data) setData(new MTPDaudioEmpty()); MTPDaudioEmpty &v(_audioEmpty()); v.vid.read(from, end); } break; case mtpc_audio: _type = cons; { if (!data) setData(new MTPDaudio()); MTPDaudio &v(_audio()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vuser_id.read(from, end); v.vdate.read(from, end); v.vduration.read(from, end); v.vmime_type.read(from, end); v.vsize.read(from, end); v.vdc_id.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPaudio"); } } inline void MTPaudio::write(mtpBuffer &to) const { switch (_type) { case mtpc_audioEmpty: { const MTPDaudioEmpty &v(c_audioEmpty()); v.vid.write(to); } break; case mtpc_audio: { const MTPDaudio &v(c_audio()); v.vid.write(to); v.vaccess_hash.write(to); v.vuser_id.write(to); v.vdate.write(to); v.vduration.write(to); v.vmime_type.write(to); v.vsize.write(to); v.vdc_id.write(to); } break; } } inline MTPaudio::MTPaudio(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_audioEmpty: setData(new MTPDaudioEmpty()); break; case mtpc_audio: setData(new MTPDaudio()); break; default: throw mtpErrorBadTypeId(type, "MTPaudio"); } } inline MTPaudio::MTPaudio(MTPDaudioEmpty *_data) : mtpDataOwner(_data), _type(mtpc_audioEmpty) { } inline MTPaudio::MTPaudio(MTPDaudio *_data) : mtpDataOwner(_data), _type(mtpc_audio) { } inline MTPaudio MTP_audioEmpty(const MTPlong &_id) { return MTPaudio(new MTPDaudioEmpty(_id)); } inline MTPaudio MTP_audio(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, MTPint _duration, const MTPstring &_mime_type, MTPint _size, MTPint _dc_id) { return MTPaudio(new MTPDaudio(_id, _access_hash, _user_id, _date, _duration, _mime_type, _size, _dc_id)); } inline uint32 MTPdocument::size() const { switch (_type) { case mtpc_documentEmpty: { const MTPDdocumentEmpty &v(c_documentEmpty()); return v.vid.size(); } case mtpc_document: { const MTPDdocument &v(c_document()); return v.vid.size() + v.vaccess_hash.size() + v.vuser_id.size() + v.vdate.size() + v.vfile_name.size() + v.vmime_type.size() + v.vsize.size() + v.vthumb.size() + v.vdc_id.size(); } } return 0; } inline mtpTypeId MTPdocument::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPdocument::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_documentEmpty: _type = cons; { if (!data) setData(new MTPDdocumentEmpty()); MTPDdocumentEmpty &v(_documentEmpty()); v.vid.read(from, end); } break; case mtpc_document: _type = cons; { if (!data) setData(new MTPDdocument()); MTPDdocument &v(_document()); v.vid.read(from, end); v.vaccess_hash.read(from, end); v.vuser_id.read(from, end); v.vdate.read(from, end); v.vfile_name.read(from, end); v.vmime_type.read(from, end); v.vsize.read(from, end); v.vthumb.read(from, end); v.vdc_id.read(from, end); } break; default: throw mtpErrorUnexpected(cons, "MTPdocument"); } } inline void MTPdocument::write(mtpBuffer &to) const { switch (_type) { case mtpc_documentEmpty: { const MTPDdocumentEmpty &v(c_documentEmpty()); v.vid.write(to); } break; case mtpc_document: { const MTPDdocument &v(c_document()); v.vid.write(to); v.vaccess_hash.write(to); v.vuser_id.write(to); v.vdate.write(to); v.vfile_name.write(to); v.vmime_type.write(to); v.vsize.write(to); v.vthumb.write(to); v.vdc_id.write(to); } break; } } inline MTPdocument::MTPdocument(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_documentEmpty: setData(new MTPDdocumentEmpty()); break; case mtpc_document: setData(new MTPDdocument()); break; default: throw mtpErrorBadTypeId(type, "MTPdocument"); } } inline MTPdocument::MTPdocument(MTPDdocumentEmpty *_data) : mtpDataOwner(_data), _type(mtpc_documentEmpty) { } inline MTPdocument::MTPdocument(MTPDdocument *_data) : mtpDataOwner(_data), _type(mtpc_document) { } inline MTPdocument MTP_documentEmpty(const MTPlong &_id) { return MTPdocument(new MTPDdocumentEmpty(_id)); } inline MTPdocument MTP_document(const MTPlong &_id, const MTPlong &_access_hash, MTPint _user_id, MTPint _date, const MTPstring &_file_name, const MTPstring &_mime_type, MTPint _size, const MTPPhotoSize &_thumb, MTPint _dc_id) { return MTPdocument(new MTPDdocument(_id, _access_hash, _user_id, _date, _file_name, _mime_type, _size, _thumb, _dc_id)); } inline MTPhelp_support::MTPhelp_support() : mtpDataOwner(new MTPDhelp_support()) { } inline uint32 MTPhelp_support::size() const { const MTPDhelp_support &v(c_help_support()); return v.vphone_number.size() + v.vuser.size(); } inline mtpTypeId MTPhelp_support::type() const { return mtpc_help_support; } inline void MTPhelp_support::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != mtpc_help_support) throw mtpErrorUnexpected(cons, "MTPhelp_support"); if (!data) setData(new MTPDhelp_support()); MTPDhelp_support &v(_help_support()); v.vphone_number.read(from, end); v.vuser.read(from, end); } inline void MTPhelp_support::write(mtpBuffer &to) const { const MTPDhelp_support &v(c_help_support()); v.vphone_number.write(to); v.vuser.write(to); } inline MTPhelp_support::MTPhelp_support(MTPDhelp_support *_data) : mtpDataOwner(_data) { } inline MTPhelp_support MTP_help_support(const MTPstring &_phone_number, const MTPUser &_user) { return MTPhelp_support(new MTPDhelp_support(_phone_number, _user)); } inline uint32 MTPnotifyPeer::size() const { switch (_type) { case mtpc_notifyPeer: { const MTPDnotifyPeer &v(c_notifyPeer()); return v.vpeer.size(); } } return 0; } inline mtpTypeId MTPnotifyPeer::type() const { if (!_type) throw mtpErrorUninitialized(); return _type; } inline void MTPnotifyPeer::read(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons) { if (cons != _type) setData(0); switch (cons) { case mtpc_notifyPeer: _type = cons; { if (!data) setData(new MTPDnotifyPeer()); MTPDnotifyPeer &v(_notifyPeer()); v.vpeer.read(from, end); } break; case mtpc_notifyUsers: _type = cons; break; case mtpc_notifyChats: _type = cons; break; case mtpc_notifyAll: _type = cons; break; default: throw mtpErrorUnexpected(cons, "MTPnotifyPeer"); } } inline void MTPnotifyPeer::write(mtpBuffer &to) const { switch (_type) { case mtpc_notifyPeer: { const MTPDnotifyPeer &v(c_notifyPeer()); v.vpeer.write(to); } break; } } inline MTPnotifyPeer::MTPnotifyPeer(mtpTypeId type) : mtpDataOwner(0), _type(type) { switch (type) { case mtpc_notifyPeer: setData(new MTPDnotifyPeer()); break; case mtpc_notifyUsers: break; case mtpc_notifyChats: break; case mtpc_notifyAll: break; default: throw mtpErrorBadTypeId(type, "MTPnotifyPeer"); } } inline MTPnotifyPeer::MTPnotifyPeer(MTPDnotifyPeer *_data) : mtpDataOwner(_data), _type(mtpc_notifyPeer) { } inline MTPnotifyPeer MTP_notifyPeer(const MTPPeer &_peer) { return MTPnotifyPeer(new MTPDnotifyPeer(_peer)); } inline MTPnotifyPeer MTP_notifyUsers() { return MTPnotifyPeer(mtpc_notifyUsers); } inline MTPnotifyPeer MTP_notifyChats() { return MTPnotifyPeer(mtpc_notifyChats); } inline MTPnotifyPeer MTP_notifyAll() { return MTPnotifyPeer(mtpc_notifyAll); } // Human-readable text serialization #if (defined _DEBUG || defined _WITH_DEBUG) inline QString mtpTextSerialize(const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons) { QString add = QString(" ").repeated(level * 2); const mtpPrime *start = from; try { if (!cons) { if (from >= end) { throw Exception("from >= 2"); } cons = *from; ++from; ++start; } QString result; switch (mtpTypeId(cons)) { case mtpc_dh_gen_ok: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " new_nonce_hash1: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; return "{ dh_gen_ok" + result + "}"; case mtpc_dh_gen_retry: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " new_nonce_hash2: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; return "{ dh_gen_retry" + result + "}"; case mtpc_dh_gen_fail: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " new_nonce_hash3: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; return "{ dh_gen_fail" + result + "}"; case mtpc_help_support: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ help_support" + result + "}"; case mtpc_audioEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ audioEmpty" + result + "}"; case mtpc_audio: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ audio" + result + "}"; case mtpc_auth_sentCode: result += "\n" + add; result += " phone_registered: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " send_call_timeout: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " is_password: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ auth_sentCode" + result + "}"; case mtpc_future_salts: result += "\n" + add; result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " now: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " salts: " + mtpTextSerialize(from, end, mtpc_vector, level + 1, mtpc_future_salt) + ",\n" + add; return "{ future_salts" + result + "}"; case mtpc_contactSuggested: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mutual_contacts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contactSuggested" + result + "}"; case mtpc_inputFileLocation: result += "\n" + add; result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputFileLocation" + result + "}"; case mtpc_inputVideoFileLocation: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputVideoFileLocation" + result + "}"; case mtpc_inputEncryptedFileLocation: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputEncryptedFileLocation" + result + "}"; case mtpc_inputAudioFileLocation: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputAudioFileLocation" + result + "}"; case mtpc_inputDocumentFileLocation: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputDocumentFileLocation" + result + "}"; case mtpc_future_salt: result += "\n" + add; result += " valid_since: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " valid_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ future_salt" + result + "}"; case mtpc_messages_dhConfigNotModified: result += "\n" + add; result += " random: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messages_dhConfigNotModified" + result + "}"; case mtpc_messages_dhConfig: result += "\n" + add; result += " g: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " p: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " random: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messages_dhConfig" + result + "}"; case mtpc_inputChatPhotoEmpty: result = " "; return "{ inputChatPhotoEmpty" + result + "}"; case mtpc_inputChatUploadedPhoto: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputChatUploadedPhoto" + result + "}"; case mtpc_inputChatPhoto: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputChatPhoto" + result + "}"; case mtpc_upload_file: result += "\n" + add; result += " type: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " mtime: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ upload_file" + result + "}"; case mtpc_photos_photo: result += "\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photos_photo" + result + "}"; case mtpc_inputPeerNotifyEventsEmpty: result = " "; return "{ inputPeerNotifyEventsEmpty" + result + "}"; case mtpc_inputPeerNotifyEventsAll: result = " "; return "{ inputPeerNotifyEventsAll" + result + "}"; case mtpc_inputAppEvent: result += "\n" + add; result += " time: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " peer: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputAppEvent" + result + "}"; case mtpc_updates_state: result += "\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " unread_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updates_state" + result + "}"; case mtpc_msgs_state_req: result += "\n" + add; result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ msgs_state_req" + result + "}"; case mtpc_inputMediaEmpty: result = " "; return "{ inputMediaEmpty" + result + "}"; case mtpc_inputMediaUploadedPhoto: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaUploadedPhoto" + result + "}"; case mtpc_inputMediaPhoto: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaPhoto" + result + "}"; case mtpc_inputMediaGeoPoint: result += "\n" + add; result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaGeoPoint" + result + "}"; case mtpc_inputMediaContact: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaContact" + result + "}"; case mtpc_inputMediaUploadedVideo: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaUploadedVideo" + result + "}"; case mtpc_inputMediaUploadedThumbVideo: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaUploadedThumbVideo" + result + "}"; case mtpc_inputMediaVideo: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaVideo" + result + "}"; case mtpc_inputMediaUploadedAudio: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaUploadedAudio" + result + "}"; case mtpc_inputMediaAudio: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaAudio" + result + "}"; case mtpc_inputMediaUploadedDocument: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaUploadedDocument" + result + "}"; case mtpc_inputMediaUploadedThumbDocument: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputMediaUploadedThumbDocument" + result + "}"; case mtpc_inputMediaDocument: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputMediaDocument" + result + "}"; case mtpc_userProfilePhotoEmpty: result = " "; return "{ userProfilePhotoEmpty" + result + "}"; case mtpc_userProfilePhoto: result += "\n" + add; result += " photo_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " photo_small: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " photo_big: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ userProfilePhoto" + result + "}"; case mtpc_decryptedMessageLayer: result += "\n" + add; result += " layer: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ decryptedMessageLayer" + result + "}"; case mtpc_contacts_foreignLinkUnknown: result = " "; return "{ contacts_foreignLinkUnknown" + result + "}"; case mtpc_contacts_foreignLinkRequested: result += "\n" + add; result += " has_phone: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_foreignLinkRequested" + result + "}"; case mtpc_contacts_foreignLinkMutual: result = " "; return "{ contacts_foreignLinkMutual" + result + "}"; case mtpc_chatLocated: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " distance: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatLocated" + result + "}"; case mtpc_dcOption: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " hostname: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " ip_address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " port: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ dcOption" + result + "}"; case mtpc_geoPointEmpty: result = " "; return "{ geoPointEmpty" + result + "}"; case mtpc_geoPoint: result += "\n" + add; result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; return "{ geoPoint" + result + "}"; case mtpc_contacts_myLinkEmpty: result = " "; return "{ contacts_myLinkEmpty" + result + "}"; case mtpc_contacts_myLinkRequested: result += "\n" + add; result += " contact: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_myLinkRequested" + result + "}"; case mtpc_contacts_myLinkContact: result = " "; return "{ contacts_myLinkContact" + result + "}"; case mtpc_inputNotifyPeer: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputNotifyPeer" + result + "}"; case mtpc_inputNotifyUsers: result = " "; return "{ inputNotifyUsers" + result + "}"; case mtpc_inputNotifyChats: result = " "; return "{ inputNotifyChats" + result + "}"; case mtpc_inputNotifyAll: result = " "; return "{ inputNotifyAll" + result + "}"; case mtpc_inputNotifyGeoChatPeer: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ inputNotifyGeoChatPeer" + result + "}"; case mtpc_userEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ userEmpty" + result + "}"; case mtpc_userSelf: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " inactive: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ userSelf" + result + "}"; case mtpc_userContact: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ userContact" + result + "}"; case mtpc_userRequest: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ userRequest" + result + "}"; case mtpc_userForeign: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ userForeign" + result + "}"; case mtpc_userDeleted: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ userDeleted" + result + "}"; case mtpc_messages_sentMessage: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_sentMessage" + result + "}"; case mtpc_messages_sentMessageLink: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_sentMessageLink" + result + "}"; case mtpc_msgs_state_info: result += "\n" + add; result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " info: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ msgs_state_info" + result + "}"; case mtpc_auth_authorization: result += "\n" + add; result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ auth_authorization" + result + "}"; case mtpc_contactStatus: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contactStatus" + result + "}"; case mtpc_config: result += "\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " test_mode: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " this_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " dc_options: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chat_size_max: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " broadcast_size_max: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ config" + result + "}"; case mtpc_msg_resend_req: result += "\n" + add; result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ msg_resend_req" + result + "}"; case mtpc_documentEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ documentEmpty" + result + "}"; case mtpc_document: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ document" + result + "}"; case mtpc_messages_statedMessages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_statedMessages" + result + "}"; case mtpc_messages_statedMessagesLinks: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_statedMessagesLinks" + result + "}"; case mtpc_messages_messages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_messages" + result + "}"; case mtpc_messages_messagesSlice: result += "\n" + add; result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_messagesSlice" + result + "}"; case mtpc_chatPhotoEmpty: result = " "; return "{ chatPhotoEmpty" + result + "}"; case mtpc_chatPhoto: result += "\n" + add; result += " photo_small: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " photo_big: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ chatPhoto" + result + "}"; case mtpc_messages_chat: result += "\n" + add; result += " chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_chat" + result + "}"; case mtpc_updates_differenceEmpty: result += "\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updates_differenceEmpty" + result + "}"; case mtpc_updates_difference: result += "\n" + add; result += " new_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " new_encrypted_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " other_updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " state: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updates_difference" + result + "}"; case mtpc_updates_differenceSlice: result += "\n" + add; result += " new_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " new_encrypted_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " other_updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " intermediate_state: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updates_differenceSlice" + result + "}"; case mtpc_p_q_inner_data: result += "\n" + add; result += " pq: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " p: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " new_nonce: " + mtpTextSerialize(from, end, mtpc_int256, level + 1) + ",\n" + add; return "{ p_q_inner_data" + result + "}"; case mtpc_auth_exportedAuthorization: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ auth_exportedAuthorization" + result + "}"; case mtpc_contacts_link: result += "\n" + add; result += " my_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " foreign_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_link" + result + "}"; case mtpc_inputPhoneContact: result += "\n" + add; result += " client_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputPhoneContact" + result + "}"; case mtpc_decryptedMessage: result += "\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " random_bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ decryptedMessage" + result + "}"; case mtpc_decryptedMessageService: result += "\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " random_bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ decryptedMessageService" + result + "}"; case mtpc_http_wait: result += "\n" + add; result += " max_delay: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " wait_after: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_wait: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ http_wait" + result + "}"; case mtpc_destroy_session_ok: result += "\n" + add; result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ destroy_session_ok" + result + "}"; case mtpc_destroy_session_none: result += "\n" + add; result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ destroy_session_none" + result + "}"; case mtpc_inputFile: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " md5_checksum: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputFile" + result + "}"; case mtpc_inputFileBig: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ inputFileBig" + result + "}"; case mtpc_msgs_all_info: result += "\n" + add; result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; result += " info: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ msgs_all_info" + result + "}"; case mtpc_help_inviteText: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ help_inviteText" + result + "}"; case mtpc_peerUser: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ peerUser" + result + "}"; case mtpc_peerChat: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ peerChat" + result + "}"; case mtpc_contacts_blocked: result += "\n" + add; result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_blocked" + result + "}"; case mtpc_contacts_blockedSlice: result += "\n" + add; result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_blockedSlice" + result + "}"; case mtpc_geochats_messages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_messages" + result + "}"; case mtpc_geochats_messagesSlice: result += "\n" + add; result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_messagesSlice" + result + "}"; case mtpc_inputGeoPointEmpty: result = " "; return "{ inputGeoPointEmpty" + result + "}"; case mtpc_inputGeoPoint: result += "\n" + add; result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; return "{ inputGeoPoint" + result + "}"; case mtpc_contactFound: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contactFound" + result + "}"; case mtpc_encryptedMessage: result += "\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ encryptedMessage" + result + "}"; case mtpc_encryptedMessageService: result += "\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ encryptedMessageService" + result + "}"; case mtpc_photos_photos: result += "\n" + add; result += " photos: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photos_photos" + result + "}"; case mtpc_photos_photosSlice: result += "\n" + add; result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " photos: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photos_photosSlice" + result + "}"; case mtpc_dialog: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " top_message: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " unread_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ dialog" + result + "}"; case mtpc_updatesTooLong: result = " "; return "{ updatesTooLong" + result + "}"; case mtpc_updateShortMessage: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateShortMessage" + result + "}"; case mtpc_updateShortChatMessage: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateShortChatMessage" + result + "}"; case mtpc_updateShort: result += "\n" + add; result += " update: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateShort" + result + "}"; case mtpc_updatesCombined: result += "\n" + add; result += " updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq_start: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updatesCombined" + result + "}"; case mtpc_updates: result += "\n" + add; result += " updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updates" + result + "}"; case mtpc_contacts_importedContacts: result += "\n" + add; result += " imported: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " retry_contacts: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_importedContacts" + result + "}"; case mtpc_resPQ: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " pq: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " server_public_key_fingerprints: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ resPQ" + result + "}"; case mtpc_inputPhotoCropAuto: result = " "; return "{ inputPhotoCropAuto" + result + "}"; case mtpc_inputPhotoCrop: result += "\n" + add; result += " crop_left: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " crop_top: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " crop_width: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; return "{ inputPhotoCrop" + result + "}"; case mtpc_messages_statedMessage: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_statedMessage" + result + "}"; case mtpc_messages_statedMessageLink: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_statedMessageLink" + result + "}"; case mtpc_messageEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messageEmpty" + result + "}"; case mtpc_message: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ message" + result + "}"; case mtpc_messageForwarded: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " fwd_from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " fwd_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageForwarded" + result + "}"; case mtpc_messageService: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageService" + result + "}"; case mtpc_new_session_created: result += "\n" + add; result += " first_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " unique_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " server_salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ new_session_created" + result + "}"; case mtpc_decryptedMessageMediaEmpty: result = " "; return "{ decryptedMessageMediaEmpty" + result + "}"; case mtpc_decryptedMessageMediaPhoto: result += "\n" + add; result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ decryptedMessageMediaPhoto" + result + "}"; case mtpc_decryptedMessageMediaVideo: result += "\n" + add; result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ decryptedMessageMediaVideo" + result + "}"; case mtpc_decryptedMessageMediaGeoPoint: result += "\n" + add; result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; return "{ decryptedMessageMediaGeoPoint" + result + "}"; case mtpc_decryptedMessageMediaContact: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ decryptedMessageMediaContact" + result + "}"; case mtpc_decryptedMessageMediaDocument: result += "\n" + add; result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ decryptedMessageMediaDocument" + result + "}"; case mtpc_decryptedMessageMediaAudio: result += "\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ decryptedMessageMediaAudio" + result + "}"; case mtpc_inputEncryptedFileEmpty: result = " "; return "{ inputEncryptedFileEmpty" + result + "}"; case mtpc_inputEncryptedFileUploaded: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " md5_checksum: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputEncryptedFileUploaded" + result + "}"; case mtpc_inputEncryptedFile: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputEncryptedFile" + result + "}"; case mtpc_inputEncryptedFileBigUploaded: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputEncryptedFileBigUploaded" + result + "}"; case mtpc_fileLocationUnavailable: result += "\n" + add; result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ fileLocationUnavailable" + result + "}"; case mtpc_fileLocation: result += "\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ fileLocation" + result + "}"; case mtpc_geoChatMessageEmpty: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geoChatMessageEmpty" + result + "}"; case mtpc_geoChatMessage: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geoChatMessage" + result + "}"; case mtpc_geoChatMessageService: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geoChatMessageService" + result + "}"; case mtpc_rpc_error: result += "\n" + add; result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " error_message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ rpc_error" + result + "}"; case mtpc_msgs_ack: result += "\n" + add; result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ msgs_ack" + result + "}"; case mtpc_encryptedChatEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ encryptedChatEmpty" + result + "}"; case mtpc_encryptedChatWaiting: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ encryptedChatWaiting" + result + "}"; case mtpc_encryptedChatRequested: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " g_a: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ encryptedChatRequested" + result + "}"; case mtpc_encryptedChat: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " g_a_or_b: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ encryptedChat" + result + "}"; case mtpc_encryptedChatDiscarded: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ encryptedChatDiscarded" + result + "}"; case mtpc_help_appUpdate: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " critical: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " url: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " text: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ help_appUpdate" + result + "}"; case mtpc_help_noAppUpdate: result = " "; return "{ help_noAppUpdate" + result + "}"; case mtpc_chatFull: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chat_photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ chatFull" + result + "}"; case mtpc_inputUserEmpty: result = " "; return "{ inputUserEmpty" + result + "}"; case mtpc_inputUserSelf: result = " "; return "{ inputUserSelf" + result + "}"; case mtpc_inputUserContact: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputUserContact" + result + "}"; case mtpc_inputUserForeign: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputUserForeign" + result + "}"; case mtpc_nearestDc: result += "\n" + add; result += " country: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " this_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " nearest_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ nearestDc" + result + "}"; case mtpc_photoEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ photoEmpty" + result + "}"; case mtpc_photo: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " sizes: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photo" + result + "}"; case mtpc_photoSizeEmpty: result += "\n" + add; result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ photoSizeEmpty" + result + "}"; case mtpc_photoSize: result += "\n" + add; result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ photoSize" + result + "}"; case mtpc_photoCachedSize: result += "\n" + add; result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ photoCachedSize" + result + "}"; case mtpc_messages_chatFull: result += "\n" + add; result += " full_chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_chatFull" + result + "}"; case mtpc_messages_affectedHistory: result += "\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_affectedHistory" + result + "}"; case mtpc_userFull: result += "\n" + add; result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " profile_photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " real_first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " real_last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ userFull" + result + "}"; case mtpc_chatParticipantsForbidden: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatParticipantsForbidden" + result + "}"; case mtpc_chatParticipants: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatParticipants" + result + "}"; case mtpc_messages_messageEmpty: result = " "; return "{ messages_messageEmpty" + result + "}"; case mtpc_messages_message: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_message" + result + "}"; case mtpc_encryptedFileEmpty: result = " "; return "{ encryptedFileEmpty" + result + "}"; case mtpc_encryptedFile: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ encryptedFile" + result + "}"; case mtpc_inputVideoEmpty: result = " "; return "{ inputVideoEmpty" + result + "}"; case mtpc_inputVideo: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputVideo" + result + "}"; case mtpc_server_DH_inner_data: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " g: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " dh_prime: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " g_a: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " server_time: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ server_DH_inner_data" + result + "}"; case mtpc_contactBlocked: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contactBlocked" + result + "}"; case mtpc_server_DH_params_fail: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " new_nonce_hash: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; return "{ server_DH_params_fail" + result + "}"; case mtpc_server_DH_params_ok: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " encrypted_answer: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ server_DH_params_ok" + result + "}"; case mtpc_importedContact: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " client_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ importedContact" + result + "}"; case mtpc_inputMessagesFilterEmpty: result = " "; return "{ inputMessagesFilterEmpty" + result + "}"; case mtpc_inputMessagesFilterPhotos: result = " "; return "{ inputMessagesFilterPhotos" + result + "}"; case mtpc_inputMessagesFilterVideo: result = " "; return "{ inputMessagesFilterVideo" + result + "}"; case mtpc_inputMessagesFilterPhotoVideo: result = " "; return "{ inputMessagesFilterPhotoVideo" + result + "}"; case mtpc_inputMessagesFilterDocument: result = " "; return "{ inputMessagesFilterDocument" + result + "}"; case mtpc_inputMessagesFilterAudio: result = " "; return "{ inputMessagesFilterAudio" + result + "}"; case mtpc_inputPeerNotifySettings: result += "\n" + add; result += " mute_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " sound: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " show_previews: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " events_mask: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputPeerNotifySettings" + result + "}"; case mtpc_inputPeerEmpty: result = " "; return "{ inputPeerEmpty" + result + "}"; case mtpc_inputPeerSelf: result = " "; return "{ inputPeerSelf" + result + "}"; case mtpc_inputPeerContact: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputPeerContact" + result + "}"; case mtpc_inputPeerForeign: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputPeerForeign" + result + "}"; case mtpc_inputPeerChat: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ inputPeerChat" + result + "}"; case mtpc_inputDocumentEmpty: result = " "; return "{ inputDocumentEmpty" + result + "}"; case mtpc_inputDocument: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputDocument" + result + "}"; case mtpc_wallPaper: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " sizes: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ wallPaper" + result + "}"; case mtpc_wallPaperSolid: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " bg_color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ wallPaperSolid" + result + "}"; case mtpc_inputGeoChat: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputGeoChat" + result + "}"; case mtpc_chatEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatEmpty" + result + "}"; case mtpc_chat: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " participants_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " left: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chat" + result + "}"; case mtpc_chatForbidden: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatForbidden" + result + "}"; case mtpc_geoChat: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " venue: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " participants_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " checked_in: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geoChat" + result + "}"; case mtpc_inputEncryptedChat: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputEncryptedChat" + result + "}"; case mtpc_messages_sentEncryptedMessage: result += "\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_sentEncryptedMessage" + result + "}"; case mtpc_messages_sentEncryptedFile: result += "\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_sentEncryptedFile" + result + "}"; case mtpc_peerNotifySettingsEmpty: result = " "; return "{ peerNotifySettingsEmpty" + result + "}"; case mtpc_peerNotifySettings: result += "\n" + add; result += " mute_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " sound: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " show_previews: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " events_mask: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ peerNotifySettings" + result + "}"; case mtpc_messageMediaEmpty: result = " "; return "{ messageMediaEmpty" + result + "}"; case mtpc_messageMediaPhoto: result += "\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageMediaPhoto" + result + "}"; case mtpc_messageMediaVideo: result += "\n" + add; result += " video: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageMediaVideo" + result + "}"; case mtpc_messageMediaGeo: result += "\n" + add; result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageMediaGeo" + result + "}"; case mtpc_messageMediaContact: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messageMediaContact" + result + "}"; case mtpc_messageMediaUnsupported: result += "\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messageMediaUnsupported" + result + "}"; case mtpc_messageMediaDocument: result += "\n" + add; result += " document: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageMediaDocument" + result + "}"; case mtpc_messageMediaAudio: result += "\n" + add; result += " audio: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageMediaAudio" + result + "}"; case mtpc_messages_chats: result += "\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_chats" + result + "}"; case mtpc_msg_detailed_info: result += "\n" + add; result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " answer_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ msg_detailed_info" + result + "}"; case mtpc_msg_new_detailed_info: result += "\n" + add; result += " answer_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ msg_new_detailed_info" + result + "}"; case mtpc_client_DH_inner_data: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " retry_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " g_b: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ client_DH_inner_data" + result + "}"; case mtpc_rpc_answer_unknown: result = " "; return "{ rpc_answer_unknown" + result + "}"; case mtpc_rpc_answer_dropped_running: result = " "; return "{ rpc_answer_dropped_running" + result + "}"; case mtpc_rpc_answer_dropped: result += "\n" + add; result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " seq_no: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ rpc_answer_dropped" + result + "}"; case mtpc_peerNotifyEventsEmpty: result = " "; return "{ peerNotifyEventsEmpty" + result + "}"; case mtpc_peerNotifyEventsAll: result = " "; return "{ peerNotifyEventsAll" + result + "}"; case mtpc_storage_fileUnknown: result = " "; return "{ storage_fileUnknown" + result + "}"; case mtpc_storage_fileJpeg: result = " "; return "{ storage_fileJpeg" + result + "}"; case mtpc_storage_fileGif: result = " "; return "{ storage_fileGif" + result + "}"; case mtpc_storage_filePng: result = " "; return "{ storage_filePng" + result + "}"; case mtpc_storage_filePdf: result = " "; return "{ storage_filePdf" + result + "}"; case mtpc_storage_fileMp3: result = " "; return "{ storage_fileMp3" + result + "}"; case mtpc_storage_fileMov: result = " "; return "{ storage_fileMov" + result + "}"; case mtpc_storage_filePartial: result = " "; return "{ storage_filePartial" + result + "}"; case mtpc_storage_fileMp4: result = " "; return "{ storage_fileMp4" + result + "}"; case mtpc_storage_fileWebp: result = " "; return "{ storage_fileWebp" + result + "}"; case mtpc_userStatusEmpty: result = " "; return "{ userStatusEmpty" + result + "}"; case mtpc_userStatusOnline: result += "\n" + add; result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ userStatusOnline" + result + "}"; case mtpc_userStatusOffline: result += "\n" + add; result += " was_online: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ userStatusOffline" + result + "}"; case mtpc_chatParticipant: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " inviter_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ chatParticipant" + result + "}"; case mtpc_notifyPeer: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ notifyPeer" + result + "}"; case mtpc_notifyUsers: result = " "; return "{ notifyUsers" + result + "}"; case mtpc_notifyChats: result = " "; return "{ notifyChats" + result + "}"; case mtpc_notifyAll: result = " "; return "{ notifyAll" + result + "}"; case mtpc_inputPhotoEmpty: result = " "; return "{ inputPhotoEmpty" + result + "}"; case mtpc_inputPhoto: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputPhoto" + result + "}"; case mtpc_inputAudioEmpty: result = " "; return "{ inputAudioEmpty" + result + "}"; case mtpc_inputAudio: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ inputAudio" + result + "}"; case mtpc_contacts_suggested: result += "\n" + add; result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_suggested" + result + "}"; case mtpc_geochats_statedMessage: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geochats_statedMessage" + result + "}"; case mtpc_updateNewMessage: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateNewMessage" + result + "}"; case mtpc_updateMessageID: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ updateMessageID" + result + "}"; case mtpc_updateReadMessages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateReadMessages" + result + "}"; case mtpc_updateDeleteMessages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateDeleteMessages" + result + "}"; case mtpc_updateRestoreMessages: result += "\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateRestoreMessages" + result + "}"; case mtpc_updateUserTyping: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateUserTyping" + result + "}"; case mtpc_updateChatUserTyping: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateChatUserTyping" + result + "}"; case mtpc_updateChatParticipants: result += "\n" + add; result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateChatParticipants" + result + "}"; case mtpc_updateUserStatus: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateUserStatus" + result + "}"; case mtpc_updateUserName: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ updateUserName" + result + "}"; case mtpc_updateUserPhoto: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " previous: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateUserPhoto" + result + "}"; case mtpc_updateContactRegistered: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateContactRegistered" + result + "}"; case mtpc_updateContactLink: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " my_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " foreign_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateContactLink" + result + "}"; case mtpc_updateActivation: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateActivation" + result + "}"; case mtpc_updateNewAuthorization: result += "\n" + add; result += " auth_key_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " device: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " location: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ updateNewAuthorization" + result + "}"; case mtpc_updateNewGeoChatMessage: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateNewGeoChatMessage" + result + "}"; case mtpc_updateNewEncryptedMessage: result += "\n" + add; result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateNewEncryptedMessage" + result + "}"; case mtpc_updateEncryptedChatTyping: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateEncryptedChatTyping" + result + "}"; case mtpc_updateEncryption: result += "\n" + add; result += " chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateEncryption" + result + "}"; case mtpc_updateEncryptedMessagesRead: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateEncryptedMessagesRead" + result + "}"; case mtpc_updateChatParticipantAdd: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " inviter_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateChatParticipantAdd" + result + "}"; case mtpc_updateChatParticipantDelete: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updateChatParticipantDelete" + result + "}"; case mtpc_updateDcOptions: result += "\n" + add; result += " dc_options: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateDcOptions" + result + "}"; case mtpc_updateUserBlocked: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateUserBlocked" + result + "}"; case mtpc_updateNotifySettings: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ updateNotifySettings" + result + "}"; case mtpc_decryptedMessageActionSetMessageTTL: result += "\n" + add; result += " ttl_seconds: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ decryptedMessageActionSetMessageTTL" + result + "}"; case mtpc_decryptedMessageActionReadMessages: result += "\n" + add; result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ decryptedMessageActionReadMessages" + result + "}"; case mtpc_decryptedMessageActionDeleteMessages: result += "\n" + add; result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ decryptedMessageActionDeleteMessages" + result + "}"; case mtpc_decryptedMessageActionScreenshotMessages: result += "\n" + add; result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; return "{ decryptedMessageActionScreenshotMessages" + result + "}"; case mtpc_decryptedMessageActionFlushHistory: result = " "; return "{ decryptedMessageActionFlushHistory" + result + "}"; case mtpc_decryptedMessageActionNotifyLayer: result += "\n" + add; result += " layer: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ decryptedMessageActionNotifyLayer" + result + "}"; case mtpc_videoEmpty: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ videoEmpty" + result + "}"; case mtpc_video: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ video" + result + "}"; case mtpc_contacts_found: result += "\n" + add; result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_found" + result + "}"; case mtpc_auth_checkedPhone: result += "\n" + add; result += " phone_registered: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " phone_invited: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ auth_checkedPhone" + result + "}"; case mtpc_messageActionEmpty: result = " "; return "{ messageActionEmpty" + result + "}"; case mtpc_messageActionChatCreate: result += "\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messageActionChatCreate" + result + "}"; case mtpc_messageActionChatEditTitle: result += "\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ messageActionChatEditTitle" + result + "}"; case mtpc_messageActionChatEditPhoto: result += "\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messageActionChatEditPhoto" + result + "}"; case mtpc_messageActionChatDeletePhoto: result = " "; return "{ messageActionChatDeletePhoto" + result + "}"; case mtpc_messageActionChatAddUser: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messageActionChatAddUser" + result + "}"; case mtpc_messageActionChatDeleteUser: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messageActionChatDeleteUser" + result + "}"; case mtpc_messageActionGeoChatCreate: result += "\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ messageActionGeoChatCreate" + result + "}"; case mtpc_messageActionGeoChatCheckin: result = " "; return "{ messageActionGeoChatCheckin" + result + "}"; case mtpc_messages_dialogs: result += "\n" + add; result += " dialogs: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_dialogs" + result + "}"; case mtpc_messages_dialogsSlice: result += "\n" + add; result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " dialogs: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_dialogsSlice" + result + "}"; case mtpc_contacts_contacts: result += "\n" + add; result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_contacts" + result + "}"; case mtpc_contacts_contactsNotModified: result = " "; return "{ contacts_contactsNotModified" + result + "}"; case mtpc_geochats_located: result += "\n" + add; result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_located" + result + "}"; case mtpc_pong: result += "\n" + add; result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ pong" + result + "}"; case mtpc_bad_msg_notification: result += "\n" + add; result += " bad_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " bad_msg_seqno: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ bad_msg_notification" + result + "}"; case mtpc_bad_server_salt: result += "\n" + add; result += " bad_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " bad_msg_seqno: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " new_server_salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ bad_server_salt" + result + "}"; case mtpc_contact: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " mutual: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contact" + result + "}"; case mtpc_messages_receivedQueue: result += "\n" + add; result += " max_qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_receivedQueue" + result + "}"; case mtpc_set_client_DH_params: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " encrypted_data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ set_client_DH_params" + result + "}"; case mtpc_help_getSupport: result = " "; return "{ help_getSupport" + result + "}"; case mtpc_auth_sendCode: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " sms_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " api_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " api_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_sendCode" + result + "}"; case mtpc_geochats_getRecents: result += "\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geochats_getRecents" + result + "}"; case mtpc_geochats_search: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " filter: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " min_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geochats_search" + result + "}"; case mtpc_geochats_getHistory: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geochats_getHistory" + result + "}"; case mtpc_get_future_salts: result += "\n" + add; result += " num: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ get_future_salts" + result + "}"; case mtpc_help_getAppUpdate: result += "\n" + add; result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ help_getAppUpdate" + result + "}"; case mtpc_help_getInviteText: result += "\n" + add; result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ help_getInviteText" + result + "}"; case mtpc_help_getNearestDc: result = " "; return "{ help_getNearestDc" + result + "}"; case mtpc_messages_deleteMessages: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messages_deleteMessages" + result + "}"; case mtpc_messages_restoreMessages: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messages_restoreMessages" + result + "}"; case mtpc_messages_receivedMessages: result += "\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_receivedMessages" + result + "}"; case mtpc_contacts_getBlocked: result += "\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contacts_getBlocked" + result + "}"; case mtpc_messages_getFullChat: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_getFullChat" + result + "}"; case mtpc_geochats_getFullChat: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_getFullChat" + result + "}"; case mtpc_messages_getDhConfig: result += "\n" + add; result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " random_length: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_getDhConfig" + result + "}"; case mtpc_messages_forwardMessages: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messages_forwardMessages" + result + "}"; case mtpc_messages_sendBroadcast: result += "\n" + add; result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_sendBroadcast" + result + "}"; case mtpc_users_getFullUser: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ users_getFullUser" + result + "}"; case mtpc_photos_getUserPhotos: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ photos_getUserPhotos" + result + "}"; case mtpc_photos_uploadProfilePhoto: result += "\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photos_uploadProfilePhoto" + result + "}"; case mtpc_updates_getState: result = " "; return "{ updates_getState" + result + "}"; case mtpc_photos_updateProfilePhoto: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ photos_updateProfilePhoto" + result + "}"; case mtpc_messages_getDialogs: result += "\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_getDialogs" + result + "}"; case mtpc_users_getUsers: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ users_getUsers" + result + "}"; case mtpc_register_saveDeveloperInfo: result += "\n" + add; result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " email: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " age: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " city: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ register_saveDeveloperInfo" + result + "}"; case mtpc_auth_sendCall: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_sendCall" + result + "}"; case mtpc_auth_logOut: result = " "; return "{ auth_logOut" + result + "}"; case mtpc_auth_resetAuthorizations: result = " "; return "{ auth_resetAuthorizations" + result + "}"; case mtpc_auth_sendInvites: result += "\n" + add; result += " phone_numbers: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_string) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_sendInvites" + result + "}"; case mtpc_account_registerDevice: result += "\n" + add; result += " token_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " token: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " app_sandbox: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ account_registerDevice" + result + "}"; case mtpc_account_unregisterDevice: result += "\n" + add; result += " token_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " token: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ account_unregisterDevice" + result + "}"; case mtpc_account_updateNotifySettings: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ account_updateNotifySettings" + result + "}"; case mtpc_account_resetNotifySettings: result = " "; return "{ account_resetNotifySettings" + result + "}"; case mtpc_account_updateStatus: result += "\n" + add; result += " offline: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ account_updateStatus" + result + "}"; case mtpc_contacts_deleteContacts: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_deleteContacts" + result + "}"; case mtpc_contacts_block: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_block" + result + "}"; case mtpc_contacts_unblock: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_unblock" + result + "}"; case mtpc_messages_setTyping: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_setTyping" + result + "}"; case mtpc_upload_saveFilePart: result += "\n" + add; result += " file_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " file_part: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ upload_saveFilePart" + result + "}"; case mtpc_help_saveAppLog: result += "\n" + add; result += " events: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ help_saveAppLog" + result + "}"; case mtpc_geochats_setTyping: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_setTyping" + result + "}"; case mtpc_messages_discardEncryption: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_discardEncryption" + result + "}"; case mtpc_messages_setEncryptedTyping: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_setEncryptedTyping" + result + "}"; case mtpc_messages_readEncryptedHistory: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_readEncryptedHistory" + result + "}"; case mtpc_upload_saveBigFilePart: result += "\n" + add; result += " file_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " file_part: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " file_total_parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ upload_saveBigFilePart" + result + "}"; case mtpc_account_getWallPapers: result = " "; return "{ account_getWallPapers" + result + "}"; case mtpc_account_updateProfile: result += "\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ account_updateProfile" + result + "}"; case mtpc_account_getNotifySettings: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ account_getNotifySettings" + result + "}"; case mtpc_auth_signUp: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_signUp" + result + "}"; case mtpc_auth_signIn: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " phone_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_signIn" + result + "}"; case mtpc_auth_importAuthorization: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ auth_importAuthorization" + result + "}"; case mtpc_messages_sendMessage: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ messages_sendMessage" + result + "}"; case mtpc_help_getConfig: result = " "; return "{ help_getConfig" + result + "}"; case mtpc_req_DH_params: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; result += " p: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " public_key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " encrypted_data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ req_DH_params" + result + "}"; case mtpc_messages_getChats: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messages_getChats" + result + "}"; case mtpc_contacts_importContacts: result += "\n" + add; result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " replace: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_importContacts" + result + "}"; case mtpc_rpc_drop_answer: result += "\n" + add; result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ rpc_drop_answer" + result + "}"; case mtpc_messages_sendEncrypted: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messages_sendEncrypted" + result + "}"; case mtpc_messages_sendEncryptedFile: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_sendEncryptedFile" + result + "}"; case mtpc_messages_sendEncryptedService: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messages_sendEncryptedService" + result + "}"; case mtpc_messages_readHistory: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_readHistory" + result + "}"; case mtpc_messages_deleteHistory: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_deleteHistory" + result + "}"; case mtpc_messages_getMessages: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; return "{ messages_getMessages" + result + "}"; case mtpc_messages_getHistory: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_getHistory" + result + "}"; case mtpc_messages_search: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " filter: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " min_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_search" + result + "}"; case mtpc_updates_getDifference: result += "\n" + add; result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ updates_getDifference" + result + "}"; case mtpc_contacts_getStatuses: result = " "; return "{ contacts_getStatuses" + result + "}"; case mtpc_auth_exportAuthorization: result += "\n" + add; result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ auth_exportAuthorization" + result + "}"; case mtpc_contacts_deleteContact: result += "\n" + add; result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ contacts_deleteContact" + result + "}"; case mtpc_destroy_session: result += "\n" + add; result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ destroy_session" + result + "}"; case mtpc_upload_getFile: result += "\n" + add; result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ upload_getFile" + result + "}"; case mtpc_messages_requestEncryption: result += "\n" + add; result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " g_a: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; return "{ messages_requestEncryption" + result + "}"; case mtpc_messages_acceptEncryption: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " g_b: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ messages_acceptEncryption" + result + "}"; case mtpc_contacts_getSuggested: result += "\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contacts_getSuggested" + result + "}"; case mtpc_geochats_checkin: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_checkin" + result + "}"; case mtpc_geochats_editChatTitle: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ geochats_editChatTitle" + result + "}"; case mtpc_geochats_editChatPhoto: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ geochats_editChatPhoto" + result + "}"; case mtpc_geochats_sendMessage: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ geochats_sendMessage" + result + "}"; case mtpc_geochats_sendMedia: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ geochats_sendMedia" + result + "}"; case mtpc_geochats_createGeoChat: result += "\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " venue: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ geochats_createGeoChat" + result + "}"; case mtpc_contacts_search: result += "\n" + add; result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ contacts_search" + result + "}"; case mtpc_auth_checkPhone: result += "\n" + add; result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ auth_checkPhone" + result + "}"; case mtpc_contacts_getContacts: result += "\n" + add; result += " hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ contacts_getContacts" + result + "}"; case mtpc_geochats_getLocated: result += "\n" + add; result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " radius: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ geochats_getLocated" + result + "}"; case mtpc_req_pq: result += "\n" + add; result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; return "{ req_pq" + result + "}"; case mtpc_messages_sendMedia: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ messages_sendMedia" + result + "}"; case mtpc_messages_editChatTitle: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ messages_editChatTitle" + result + "}"; case mtpc_messages_editChatPhoto: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_editChatPhoto" + result + "}"; case mtpc_messages_addChatUser: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " fwd_limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ messages_addChatUser" + result + "}"; case mtpc_messages_deleteChatUser: result += "\n" + add; result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ messages_deleteChatUser" + result + "}"; case mtpc_messages_createChat: result += "\n" + add; result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; return "{ messages_createChat" + result + "}"; case mtpc_messages_forwardMessage: result += "\n" + add; result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ messages_forwardMessage" + result + "}"; case mtpc_ping: result += "\n" + add; result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; return "{ ping" + result + "}"; case mtpc_ping_delay_disconnect: result += "\n" + add; result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " disconnect_delay: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; return "{ ping_delay_disconnect" + result + "}"; case mtpc_invokeAfterMsg: result += "\n" + add; result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ invokeAfterMsg" + result + "}"; case mtpc_invokeAfterMsgs: result += "\n" + add; result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ invokeAfterMsgs" + result + "}"; case mtpc_initConnection: result += "\n" + add; result += " api_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; return "{ initConnection" + result + "}"; } return mtpTextSerializeCore(from, end, cons, level, vcons); } catch (Exception &e) { QString result = "(" + QString(e.what()) + QString("), cons: %1").arg(cons); if (vcons) result += QString(", vcons: %1").arg(vcons); result += ", " + mb(start, (end - start) * sizeof(mtpPrime)).str(); return "[ERROR] " + result; } } #endif