ariane/app/src/main/java/oppen/ariane/io/gemini/Datasource.kt

18 lines
507 B
Kotlin

package oppen.ariane.io.gemini
import android.content.Context
import oppen.ariane.io.GemState
import java.net.URI
interface Datasource {
fun request(uri: URI, forceDownload: Boolean, onUpdate: (state: GemState) -> Unit)
fun request(uri: URI, onUpdate: (state: GemState) -> Unit)
fun canGoBack(): Boolean
fun goBack(onUpdate: (state: GemState) -> Unit)
companion object{
fun factory(context: Context): Datasource {
return GeminiDatasource(context)
}
}
}