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 ApiRawValue extends BserObject { public static ApiRawValue 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 ApiStringValue(), content); case 2: return Bser.parse(new ApiInt32Value(), content); case 3: return Bser.parse(new ApiInt64Value(), content); case 4: return Bser.parse(new ApiDoubleValue(), content); case 5: return Bser.parse(new ApiArrayValue(), content); case 6: return Bser.parse(new ApiMapValue(), content); default: return new ApiRawValueUnsupported(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(); } }