package soy.iko.opencode.shared; public abstract class Screen { abstract public void serialize(com.novi.serde.Serializer serializer) throws com.novi.serde.SerializationError; public static Screen deserialize(com.novi.serde.Deserializer deserializer) throws com.novi.serde.DeserializationError { int index = deserializer.deserialize_variant_index(); switch (index) { case 0: return Connect.load(deserializer); case 1: return Sessions.load(deserializer); case 2: return Chat.load(deserializer); default: throw new com.novi.serde.DeserializationError("Unknown variant index for Screen: " + index); } } public byte[] bincodeSerialize() throws com.novi.serde.SerializationError { com.novi.serde.Serializer serializer = new com.novi.bincode.BincodeSerializer(); serialize(serializer); return serializer.get_bytes(); } public static Screen bincodeDeserialize(byte[] input) throws com.novi.serde.DeserializationError { if (input == null) { throw new com.novi.serde.DeserializationError("Cannot deserialize null array"); } com.novi.serde.Deserializer deserializer = new com.novi.bincode.BincodeDeserializer(input); Screen value = deserialize(deserializer); if (deserializer.get_buffer_offset() < input.length) { throw new com.novi.serde.DeserializationError("Some input bytes were not read"); } return value; } public static final class Connect extends Screen { public Connect() { } public void serialize(com.novi.serde.Serializer serializer) throws com.novi.serde.SerializationError { serializer.increase_container_depth(); serializer.serialize_variant_index(0); serializer.decrease_container_depth(); } static Connect load(com.novi.serde.Deserializer deserializer) throws com.novi.serde.DeserializationError { deserializer.increase_container_depth(); Builder builder = new Builder(); deserializer.decrease_container_depth(); return builder.build(); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Connect other = (Connect) obj; return true; } public int hashCode() { int value = 7; return value; } public static final class Builder { public Connect build() { return new Connect( ); } } } public static final class Sessions extends Screen { public Sessions() { } public void serialize(com.novi.serde.Serializer serializer) throws com.novi.serde.SerializationError { serializer.increase_container_depth(); serializer.serialize_variant_index(1); serializer.decrease_container_depth(); } static Sessions load(com.novi.serde.Deserializer deserializer) throws com.novi.serde.DeserializationError { deserializer.increase_container_depth(); Builder builder = new Builder(); deserializer.decrease_container_depth(); return builder.build(); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Sessions other = (Sessions) obj; return true; } public int hashCode() { int value = 7; return value; } public static final class Builder { public Sessions build() { return new Sessions( ); } } } public static final class Chat extends Screen { public Chat() { } public void serialize(com.novi.serde.Serializer serializer) throws com.novi.serde.SerializationError { serializer.increase_container_depth(); serializer.serialize_variant_index(2); serializer.decrease_container_depth(); } static Chat load(com.novi.serde.Deserializer deserializer) throws com.novi.serde.DeserializationError { deserializer.increase_container_depth(); Builder builder = new Builder(); deserializer.decrease_container_depth(); return builder.build(); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Chat other = (Chat) obj; return true; } public int hashCode() { int value = 7; return value; } public static final class Builder { public Chat build() { return new Chat( ); } } } }