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 abstract class ApiTextMessageEx extends BserObject {
public static ApiTextMessageEx fromBytes(byte[] src) throws IOException {
BserValues values = new BserValues(BserParser.deserialize(new DataInput(src, 0, src.length)));
int key = values.getInt(1);
byte[] content = values.getBytes(2);
switch(key) {
case 1: return Bser.parse(new ApiTextExMarkdown(), content);
case 2: return Bser.parse(new ApiTextModernMessage(), content);
case 3: return Bser.parse(new ApiTextCommand(), content);
default: return new ApiTextMessageExUnsupported(key, content);
}
}
public abstract int getHeader();
public byte[] buildContainer() throws IOException {
DataOutput res = new DataOutput();
BserWriter writer = new BserWriter(res);
writer.writeInt(1, getHeader());
writer.writeBytes(2, toByteArray());
return res.toByteArray();
}
}