X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FFreenetModule.kt;h=1438c2aa2fdebdc68b51e30e07acf4861988f347;hb=8788d5ab31bba7dd145c25b979f99a8bc640c37e;hp=89d164da224235a818d6b6deebba89730b62f618;hpb=b8419feef4fb874a033e8bfdfbf4939f3968bd19;p=Sone.git diff --git a/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt b/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt index 89d164d..1438c2a 100644 --- a/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt +++ b/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt @@ -1,29 +1,30 @@ package net.pterodactylus.sone.main -import com.google.inject.Binder -import com.google.inject.Module -import com.google.inject.Provides -import freenet.client.HighLevelSimpleClient +import com.google.inject.* +import freenet.client.* import freenet.clients.http.* -import freenet.node.Node -import freenet.pluginmanager.PluginRespirator +import freenet.node.* +import freenet.pluginmanager.* +import net.pterodactylus.sone.freenet.plugin.* import javax.inject.Provider import javax.inject.Singleton /** * Guice [Module] that supplies some objects that are in fact supplied by the Freenet node. */ -class FreenetModule(private val pluginRespirator: PluginRespirator): Module { +class FreenetModule(private val pluginRespirator: PluginRespirator) : Module { override fun configure(binder: Binder): Unit = binder.run { - bind(PluginRespirator::class.java).toProvider(Provider { pluginRespirator }) - pluginRespirator.node!!.let { node -> bind(Node::class.java).toProvider(Provider { node }) } + bind(PluginRespiratorFacade::class.java).toProvider(Provider { FredPluginRespiratorFacade(pluginRespirator) }).`in`(Singleton::class.java) + bind(PluginConnector::class.java).to(FredPluginConnector::class.java).`in`(Singleton::class.java) + bind(Node::class.java).toProvider(Provider { pluginRespirator.node }) bind(HighLevelSimpleClient::class.java).toProvider(Provider { pluginRespirator.hlSimpleClient!! }) bind(ToadletContainer::class.java).toProvider(Provider { pluginRespirator.toadletContainer }) bind(PageMaker::class.java).toProvider(Provider { pluginRespirator.pageMaker }) } - @Provides @Singleton + @Provides + @Singleton fun getSessionManager() = pluginRespirator.getSessionManager("Sone")!! }