AccountInitTakeoutSession.deserialize constructor

AccountInitTakeoutSession.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory AccountInitTakeoutSession.deserialize(BinaryReader reader) {
  // Read [AccountInitTakeoutSession] fields.
  final flags = reader.readInt32();
  final contacts = (flags & 1) != 0;
  final messageUsers = (flags & 2) != 0;
  final messageChats = (flags & 4) != 0;
  final messageMegagroups = (flags & 8) != 0;
  final messageChannels = (flags & 16) != 0;
  final files = (flags & 32) != 0;
  final hasFileMaxSizeField = (flags & 32) != 0;
  final fileMaxSize = hasFileMaxSizeField ? reader.readInt64() : null;

  // Construct [AccountInitTakeoutSession] object.
  final returnValue = AccountInitTakeoutSession(
    contacts: contacts,
    messageUsers: messageUsers,
    messageChats: messageChats,
    messageMegagroups: messageMegagroups,
    messageChannels: messageChannels,
    files: files,
    fileMaxSize: fileMaxSize,
  );

  // Now return the deserialized [AccountInitTakeoutSession].
  return returnValue;
}