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=a8da595d52b018fa873481e7733567bb5e783984;hpb=ffd92ca2374c0b2218e583d02e0bdd24b8c110ae;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 a8da595..1438c2a 100644 --- a/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt +++ b/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt @@ -1,25 +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 freenet.node.Node -import freenet.pluginmanager.PluginRespirator +import com.google.inject.* +import freenet.client.* +import freenet.clients.http.* +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 { pluginRespirator } - pluginRespirator.node!!.let { node -> bind(Node::class.java).toProvider { node } } - bind(HighLevelSimpleClient::class.java).toProvider { pluginRespirator.hlSimpleClient!! } + 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")!! }