ForumTopic.deserialize constructor

ForumTopic.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory ForumTopic.deserialize(BinaryReader reader) {
  // Read [ForumTopic] fields.
  final flags = reader.readInt32();
  final my = (flags & 2) != 0;
  final closed = (flags & 4) != 0;
  final pinned = (flags & 8) != 0;
  final short = (flags & 32) != 0;
  final hidden = (flags & 64) != 0;
  final titleMissing = (flags & 128) != 0;
  final id = reader.readInt32();
  final date = reader.readDateTime();
  final peer = reader.readObject() as PeerBase;
  final title = reader.readString();
  final iconColor = reader.readInt32();
  final hasIconEmojiIdField = (flags & 1) != 0;
  final iconEmojiId = hasIconEmojiIdField ? reader.readInt64() : null;
  final topMessage = reader.readInt32();
  final readInboxMaxId = reader.readInt32();
  final readOutboxMaxId = reader.readInt32();
  final unreadCount = reader.readInt32();
  final unreadMentionsCount = reader.readInt32();
  final unreadReactionsCount = reader.readInt32();
  final unreadPollVotesCount = reader.readInt32();
  final fromId = reader.readObject() as PeerBase;
  final notifySettings = reader.readObject() as PeerNotifySettingsBase;
  final hasDraftField = (flags & 16) != 0;
  final draft =
      hasDraftField ? reader.readObject() as DraftMessageBase : null;

  // Construct [ForumTopic] object.
  final returnValue = ForumTopic(
    my: my,
    closed: closed,
    pinned: pinned,
    short: short,
    hidden: hidden,
    titleMissing: titleMissing,
    id: id,
    date: date,
    peer: peer,
    title: title,
    iconColor: iconColor,
    iconEmojiId: iconEmojiId,
    topMessage: topMessage,
    readInboxMaxId: readInboxMaxId,
    readOutboxMaxId: readOutboxMaxId,
    unreadCount: unreadCount,
    unreadMentionsCount: unreadMentionsCount,
    unreadReactionsCount: unreadReactionsCount,
    unreadPollVotesCount: unreadPollVotesCount,
    fromId: fromId,
    notifySettings: notifySettings,
    draft: draft,
  );

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