package im.actor.core.api;
/*
* 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;
public class ApiOffer extends ApiWebRTCSignaling {
private long sessionId;
private String sdp;
private ApiPeerSettings ownPeerSettings;
public ApiOffer(long sessionId, @NotNull String sdp, @Nullable ApiPeerSettings ownPeerSettings) {
this.sessionId = sessionId;
this.sdp = sdp;
this.ownPeerSettings = ownPeerSettings;
}
public ApiOffer() {
}
public int getHeader() {
return 4;
}
public long getSessionId() {
return this.sessionId;
}
@NotNull
public String getSdp() {
return this.sdp;
}
@Nullable
public ApiPeerSettings getOwnPeerSettings() {
return this.ownPeerSettings;
}
@Override
public void parse(BserValues values) throws IOException {
this.sessionId = values.getLong(1);
this.sdp = values.getString(2);
this.ownPeerSettings = values.optObj(3, new ApiPeerSettings());
}
@Override
public void serialize(BserWriter writer) throws IOException {
writer.writeLong(1, this.sessionId);
if (this.sdp == null) {
throw new IOException();
}
writer.writeString(2, this.sdp);
if (this.ownPeerSettings != null) {
writer.writeObject(3, this.ownPeerSettings);
}
}
@Override
public String toString() {
String res = "struct Offer{";
res += "sessionId=" + this.sessionId;
res += ", sdp=" + this.sdp;
res += ", ownPeerSettings=" + this.ownPeerSettings;
res += "}";
return res;
}
}