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 RequestInviteUser extends Request<ResponseSeqDate> {
public static final int HEADER = 0x45;
public static RequestInviteUser fromBytes(byte[] data) throws IOException {
return Bser.parse(new RequestInviteUser(), data);
}
private ApiGroupOutPeer groupPeer;
private long rid;
private ApiUserOutPeer user;
private List<ApiUpdateOptimization> optimizations;
public RequestInviteUser(@NotNull ApiGroupOutPeer groupPeer, long rid, @NotNull ApiUserOutPeer user, @NotNull List<ApiUpdateOptimization> optimizations) {
this.groupPeer = groupPeer;
this.rid = rid;
this.user = user;
this.optimizations = optimizations;
}
public RequestInviteUser() {
}
@NotNull
public ApiGroupOutPeer getGroupPeer() {
return this.groupPeer;
}
public long getRid() {
return this.rid;
}
@NotNull
public ApiUserOutPeer getUser() {
return this.user;
}
@NotNull
public List<ApiUpdateOptimization> getOptimizations() {
return this.optimizations;
}
@Override
public void parse(BserValues values) throws IOException {
this.groupPeer = values.getObj(1, new ApiGroupOutPeer());
this.rid = values.getLong(4);
this.user = values.getObj(3, new ApiUserOutPeer());
this.optimizations = new ArrayList<ApiUpdateOptimization>();
for (int b : values.getRepeatedInt(5)) {
optimizations.add(ApiUpdateOptimization.parse(b));
}
}
@Override
public void serialize(BserWriter writer) throws IOException {
if (this.groupPeer == null) {
throw new IOException();
}
writer.writeObject(1, this.groupPeer);
writer.writeLong(4, this.rid);
if (this.user == null) {
throw new IOException();
}
writer.writeObject(3, this.user);
for (ApiUpdateOptimization i : this.optimizations) {
writer.writeInt(5, i.getValue());
}
}
@Override
public String toString() {
String res = "rpc InviteUser{";
res += "groupPeer=" + this.groupPeer;
res += ", rid=" + this.rid;
res += ", user=" + this.user;
res += ", optimizations=" + this.optimizations;
res += "}";
return res;
}
@Override
public int getHeaderKey() {
return HEADER;
}
}