🎨 Reduce dependency on Node’s fields
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / freenet / HighLevelSimpleClientCreator.kt
diff --git a/src/main/kotlin/net/pterodactylus/sone/freenet/HighLevelSimpleClientCreator.kt b/src/main/kotlin/net/pterodactylus/sone/freenet/HighLevelSimpleClientCreator.kt
new file mode 100644 (file)
index 0000000..0874838
--- /dev/null
@@ -0,0 +1,17 @@
+package net.pterodactylus.sone.freenet
+
+import freenet.client.HighLevelSimpleClient
+import freenet.node.NodeClientCore
+
+fun interface HighLevelSimpleClientCreator {
+
+       fun makeClient(prioClass: Short, forceDontIgnoreTooManyPathComponents: Boolean, realTimeFlag: Boolean): HighLevelSimpleClient
+
+}
+
+class DefaultHighLevelSimpleClientCreator(private val nodeClientCore: NodeClientCore) : HighLevelSimpleClientCreator {
+
+       override fun makeClient(prioClass: Short, forceDontIgnoreTooManyPathComponents: Boolean, realTimeFlag: Boolean): HighLevelSimpleClient =
+               nodeClientCore.makeClient(prioClass, forceDontIgnoreTooManyPathComponents, realTimeFlag)
+
+}