package im.actor.core.api.base;
/*
* Generated by the Actor API Scheme generator. DO NOT EDIT!
*/
import im.actor.runtime.bser.*;
import im.actor.runtime.collections.*;
import static im.actor.runtime.bser.Utils.*;
import im.actor.core.network.parser.*;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import com.google.j2objc.annotations.ObjectiveCName;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import im.actor.core.api.*;
public class FatSeqUpdate extends RpcScope {
public static final int HEADER = 0x49;
public static FatSeqUpdate fromBytes(byte[] data) throws IOException {
return Bser.parse(new FatSeqUpdate(), data);
}
private int seq;
private byte[] state;
private int updateHeader;
private byte[] update;
private List<ApiUser> users;
private List<ApiGroup> groups;
public FatSeqUpdate(int seq, @NotNull byte[] state, int updateHeader, @NotNull byte[] update, @NotNull List<ApiUser> users, @NotNull List<ApiGroup> groups) {
this.seq = seq;
this.state = state;
this.updateHeader = updateHeader;
this.update = update;
this.users = users;
this.groups = groups;
}
public FatSeqUpdate() {
}
public int getSeq() {
return this.seq;
}
@NotNull
public byte[] getState() {
return this.state;
}
public int getUpdateHeader() {
return this.updateHeader;
}
@NotNull
public byte[] getUpdate() {
return this.update;
}
@NotNull
public List<ApiUser> getUsers() {
return this.users;
}
@NotNull
public List<ApiGroup> getGroups() {
return this.groups;
}
@Override
public void parse(BserValues values) throws IOException {
this.seq = values.getInt(1);
this.state = values.getBytes(2);
this.updateHeader = values.getInt(3);
this.update = values.getBytes(4);
List<ApiUser> _users = new ArrayList<ApiUser>();
for (int i = 0; i < values.getRepeatedCount(5); i ++) {
_users.add(new ApiUser());
}
this.users = values.getRepeatedObj(5, _users);
List<ApiGroup> _groups = new ArrayList<ApiGroup>();
for (int i = 0; i < values.getRepeatedCount(6); i ++) {
_groups.add(new ApiGroup());
}
this.groups = values.getRepeatedObj(6, _groups);
}
@Override
public void serialize(BserWriter writer) throws IOException {
writer.writeInt(1, this.seq);
if (this.state == null) {
throw new IOException();
}
writer.writeBytes(2, this.state);
writer.writeInt(3, this.updateHeader);
if (this.update == null) {
throw new IOException();
}
writer.writeBytes(4, this.update);
writer.writeRepeatedObj(5, this.users);
writer.writeRepeatedObj(6, this.groups);
}
@Override
public String toString() {
String res = "update box FatSeqUpdate{";
res += "seq=" + this.seq;
res += ", state=" + byteArrayToStringCompact(this.state);
res += ", updateHeader=" + this.updateHeader;
res += ", update=" + byteArrayToStringCompact(this.update);
res += ", users=" + this.users.size();
res += ", groups=" + this.groups.size();
res += "}";
return res;
}
@Override
public int getHeaderKey() {
return HEADER;
}
}