➕ Make Fred’s ToadletContainer available to Guice
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / main / FreenetModule.kt
index a8da595..d8349ba 100644 (file)
@@ -4,8 +4,10 @@ import com.google.inject.Binder
 import com.google.inject.Module
 import com.google.inject.Provides
 import freenet.client.HighLevelSimpleClient
+import freenet.clients.http.*
 import freenet.node.Node
 import freenet.pluginmanager.PluginRespirator
+import javax.inject.Provider
 import javax.inject.Singleton
 
 /**
@@ -14,9 +16,10 @@ import javax.inject.Singleton
 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(PluginRespirator::class.java).toProvider(Provider<PluginRespirator> { pluginRespirator })
+               pluginRespirator.node!!.let { node -> bind(Node::class.java).toProvider(Provider<Node> { node }) }
+               bind(HighLevelSimpleClient::class.java).toProvider(Provider<HighLevelSimpleClient> { pluginRespirator.hlSimpleClient!! })
+               bind(ToadletContainer::class.java).toProvider(Provider<ToadletContainer> { pluginRespirator.toadletContainer })
        }
 
        @Provides @Singleton