X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FFreenetModule.kt;h=691ae4ed89492807a8c7ea70e7ea6db69f2c33d2;hb=07643fdd510640d6c0b20963e4f4f36e06469fb5;hp=9b5fa2eb0a8c9d58b4e1d349eb458eda9b588a76;hpb=03cec6a6772c2d836d94864adddaf544cbe9d72f;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 9b5fa2e..691ae4e 100644 --- a/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt +++ b/src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt @@ -2,9 +2,14 @@ package net.pterodactylus.sone.main import com.google.inject.* import freenet.client.* +import freenet.client.async.ClientContext +import freenet.client.async.USKManager import freenet.clients.http.* import freenet.node.* import freenet.pluginmanager.* +import net.pterodactylus.sone.freenet.DefaultHighLevelSimpleClientCreator +import net.pterodactylus.sone.freenet.HighLevelSimpleClientCreator +import net.pterodactylus.sone.freenet.plugin.* import javax.inject.Provider import javax.inject.Singleton @@ -14,8 +19,9 @@ import javax.inject.Singleton 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 }) @@ -25,4 +31,20 @@ class FreenetModule(private val pluginRespirator: PluginRespirator) : Module { @Singleton fun getSessionManager() = pluginRespirator.getSessionManager("Sone")!! + @Provides + fun getNodeClientCore(node: Node): NodeClientCore = + node.clientCore + + @Provides + fun getHighLevelSimpleClientCreator(nodeClientCore: NodeClientCore): HighLevelSimpleClientCreator = + DefaultHighLevelSimpleClientCreator(nodeClientCore) + + @Provides + fun getClientContext(nodeClientCore: NodeClientCore): ClientContext = + nodeClientCore.clientContext + + @Provides + fun getUskManager(nodeClientCore: NodeClientCore): USKManager = + nodeClientCore.uskManager + }