2020-10-09 13:53:58 +00:00
|
|
|
package oppen.ariane.io.gemini
|
2020-08-21 15:12:00 +00:00
|
|
|
|
|
|
|
import android.content.Context
|
2020-10-09 13:53:58 +00:00
|
|
|
import oppen.ariane.io.GemState
|
2020-11-16 14:02:56 +00:00
|
|
|
import oppen.ariane.io.database.history.ArianeHistory
|
2020-08-21 15:12:00 +00:00
|
|
|
import java.net.URI
|
|
|
|
|
|
|
|
interface Datasource {
|
2020-11-13 15:38:57 +00:00
|
|
|
fun request(uri: URI, forceDownload: Boolean, onUpdate: (state: GemState) -> Unit)
|
2020-09-09 18:29:23 +00:00
|
|
|
fun request(uri: URI, onUpdate: (state: GemState) -> Unit)
|
2020-11-13 18:48:32 +00:00
|
|
|
fun canGoBack(): Boolean
|
|
|
|
fun goBack(onUpdate: (state: GemState) -> Unit)
|
2020-08-21 15:12:00 +00:00
|
|
|
|
|
|
|
companion object{
|
2020-11-16 14:02:56 +00:00
|
|
|
fun factory(context: Context, history: ArianeHistory): Datasource {
|
|
|
|
return GeminiDatasource(context, history)
|
2020-08-21 15:12:00 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|