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

19 lines
594 B
Kotlin

package oppen.ariane.io.gemini
import android.content.Context
import oppen.ariane.io.GemState
import oppen.ariane.io.database.history.ArianeHistory
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, history: ArianeHistory): Datasource {
return GeminiDatasource(context, history)
}
}
}