package oppen.ariane.io import android.net.Uri import oppen.ariane.io.gemini.GeminiResponse import java.net.URI sealed class GemState { data class AppQuery(val uri: URI): GemState() data class Requesting(val uri: URI): GemState() data class NotGeminiRequest(val uri: URI) : GemState() data class ResponseGemtext(val uri: URI, val header: GeminiResponse.Header, val lines: List) : GemState() data class ResponseInput(val uri: URI, val header: GeminiResponse.Header) : GemState() data class ResponseText(val uri: URI, val header: GeminiResponse.Header, val content: String) : GemState() data class ResponseImage(val uri: URI, val header: GeminiResponse.Header, val cacheUri: Uri) : GemState() data class ResponseAudio(val uri: URI, val header: GeminiResponse.Header, val cacheUri: Uri) : GemState() data class ResponseBinary(val uri: URI, val header: GeminiResponse.Header, val cacheUri: Uri) : GemState() data class ResponseUnknownMime(val uri: URI, val header: GeminiResponse.Header) : GemState() data class ResponseError(val header: GeminiResponse.Header): GemState() object Blank: GemState() }