package im.actor.core.api.rpc;
/*
* 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 RequestLoadArchived extends Request<ResponseLoadArchived> {
public static final int HEADER = 0xa5b;
public static RequestLoadArchived fromBytes(byte[] data) throws IOException {
return Bser.parse(new RequestLoadArchived(), data);
}
private byte[] nextOffset;
private int limit;
private List<ApiUpdateOptimization> optimizations;
public RequestLoadArchived(@Nullable byte[] nextOffset, int limit, @NotNull List<ApiUpdateOptimization> optimizations) {
this.nextOffset = nextOffset;
this.limit = limit;
this.optimizations = optimizations;
}
public RequestLoadArchived() {
}
@Nullable
public byte[] getNextOffset() {
return this.nextOffset;
}
public int getLimit() {
return this.limit;
}
@NotNull
public List<ApiUpdateOptimization> getOptimizations() {
return this.optimizations;
}
@Override
public void parse(BserValues values) throws IOException {
this.nextOffset = values.optBytes(1);
this.limit = values.getInt(2);
this.optimizations = new ArrayList<ApiUpdateOptimization>();
for (int b : values.getRepeatedInt(3)) {
optimizations.add(ApiUpdateOptimization.parse(b));
}
}
@Override
public void serialize(BserWriter writer) throws IOException {
if (this.nextOffset != null) {
writer.writeBytes(1, this.nextOffset);
}
writer.writeInt(2, this.limit);
for (ApiUpdateOptimization i : this.optimizations) {
writer.writeInt(3, i.getValue());
}
}
@Override
public String toString() {
String res = "rpc LoadArchived{";
res += "nextOffset=" + byteArrayToStringCompact(this.nextOffset);
res += ", limit=" + this.limit;
res += ", optimizations=" + this.optimizations;
res += "}";
return res;
}
@Override
public int getHeaderKey() {
return HEADER;
}
}