blob: 2210a7ef43384d850135e3225afa1a91eec6cd2a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package akono
import java.nio.ByteBuffer
typealias AkonoNativePointer = ByteBuffer
class AkonoJni {
external fun stringFromJNI(): String
private external fun evalJs(source: String, p: AkonoNativePointer): String
private external fun destroyNative(b: AkonoNativePointer)
private external fun initNative(nodeArgv: Array<out String>): AkonoNativePointer
private external fun runNodeLoop(b: AkonoNativePointer)
private external fun postMessageToNode(message: String, b: AkonoNativePointer)
private external fun waitForMessageFromNode(b: AkonoNativePointer): String
private var internalNativePointer: AkonoNativePointer
fun evalJs(source: String): String = evalJs(source, internalNativePointer)
@Override
protected fun finalize() {
destroyNative(internalNativePointer)
}
constructor(vararg nodeArgv: String) {
internalNativePointer = initNative(nodeArgv)
}
companion object {
init {
System.loadLibrary("akono-jni")
}
}
}
|