summaryrefslogtreecommitdiff
path: root/akono/src/main/java/akono
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-12-10 23:38:24 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-12-10 23:38:24 +0100
commit91fbb65ed4e5dc843eb5b1c5d1bcb44a2f256967 (patch)
tree4c5ee6423518ada341dffebc96d94febfa0b9206 /akono/src/main/java/akono
parentcb3eb410fbf79cb2bb9ddb969b771259ea9acf6e (diff)
downloadakono-91fbb65ed4e5dc843eb5b1c5d1bcb44a2f256967.tar.gz
akono-91fbb65ed4e5dc843eb5b1c5d1bcb44a2f256967.tar.bz2
akono-91fbb65ed4e5dc843eb5b1c5d1bcb44a2f256967.zip
module loading
Diffstat (limited to 'akono/src/main/java/akono')
-rw-r--r--akono/src/main/java/akono/AkonoJni.kt20
1 files changed, 6 insertions, 14 deletions
diff --git a/akono/src/main/java/akono/AkonoJni.kt b/akono/src/main/java/akono/AkonoJni.kt
index 6aecb3af..e5a10547 100644
--- a/akono/src/main/java/akono/AkonoJni.kt
+++ b/akono/src/main/java/akono/AkonoJni.kt
@@ -11,8 +11,6 @@ import kotlin.concurrent.thread
typealias AkonoNativePointer = ByteBuffer
-data class ModuleResult(val path: String, val contents: String)
-
private val TAG = "AkonoJni"
class AkonoJni(vararg nodeArgv: String) {
@@ -25,6 +23,7 @@ class AkonoJni(vararg nodeArgv: String) {
private external fun runNode(p: AkonoNativePointer)
private external fun makeCallbackNative(source: String, p: AkonoNativePointer)
+ private external fun putModuleCodeNative(key: String, source: String)
private external fun destroyNative(b: AkonoNativePointer)
private external fun initNative(nodeArgv: Array<out String>): AkonoNativePointer
@@ -95,9 +94,6 @@ class AkonoJni(vararg nodeArgv: String) {
evalNodeCode(source)
}
- /**
- *
- */
fun waitStopped(): Unit {
Log.i(TAG, "waiting for stop")
scheduleNodeThread {
@@ -107,6 +103,11 @@ class AkonoJni(vararg nodeArgv: String) {
return
}
+ fun putModuleCode(modName: String, code: String) {
+ Log.v(TAG, "putting module code (kotlin)")
+ putModuleCodeNative(modName, code)
+ }
+
/**
* Register a message handler that is called when the JavaScript code
* running in [runNodeJs] calls __akono_sendMessage
@@ -141,7 +142,6 @@ class AkonoJni(vararg nodeArgv: String) {
}
companion object {
-
init {
System.loadLibrary("akono-jni")
}
@@ -150,12 +150,4 @@ class AkonoJni(vararg nodeArgv: String) {
interface MessageHandler {
fun handleMessage(message: String)
}
-
- interface LoadModuleHandler {
- fun loadModule(name: String, paths: Array<String>): ModuleResult?
- }
-
- interface GetDataHandler {
- fun handleGetData(what: String): ByteArray?
- }
}