package tl.messages; import tl.TL; import java.nio.ByteBuffer; public class DialogsSlice extends tl.messages.TDialogs { public DialogsSlice(ByteBuffer buffer) throws Exception { count = buffer.getInt(); dialogs = TL.readVector(buffer, true, new tl.TDialog[0]); messages = TL.readVector(buffer, true, new tl.TMessage[0]); chats = TL.readVector(buffer, true, new tl.TChat[0]); users = TL.readVector(buffer, true, new tl.TUser[0]); } public DialogsSlice(int count, tl.TDialog[] dialogs, tl.TMessage[] messages, tl.TChat[] chats, tl.TUser[] users) { this.count = count; this.dialogs = dialogs; this.messages = messages; this.chats = chats; this.users = users; } public ByteBuffer writeTo(ByteBuffer buffer, boolean boxed) throws Exception { int oldPos = buffer.position(); if (boxed) { buffer.putInt(0x71e094f3); } buffer.putInt(count); TL.writeVector(buffer, dialogs, true, true); TL.writeVector(buffer, messages, true, true); TL.writeVector(buffer, chats, true, true); TL.writeVector(buffer, users, true, true); if (oldPos + length() + (boxed ? 4 : 0) != buffer.position()) { System.err.println("Invalid length at DialogsSlice: expected " + (length() + (boxed ? 4 : 0)) + " bytes, got " + (buffer.position() - oldPos)); } return buffer; } public int length() throws Exception { return 36 + TL.length(dialogs) + TL.length(messages) + TL.length(chats) + TL.length(users); } public String toString() { return "(messages.dialogsSlice count:" + count + " dialogs:" + TL.toString(dialogs) + " messages:" + TL.toString(messages) + " chats:" + TL.toString(chats) + " users:" + TL.toString(users) + ")"; } }