From c975bdb2484ff637698f6577a5dddfa1c89730ae Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Fri, 31 Jul 2020 20:08:33 +0200 Subject: [PATCH] Progress --- .../libsodium/definitions/Definitions.kt | 22 +++++++++++++------ .../commonMain/kotlin/debug/test/DebugTest.kt | 5 ++--- .../jvmMain/kotlin/debug/test/DebugTest.kt | 5 ++--- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/kotlin-multiplatform-libsodium-generator/src/main/kotlin/com/ionspin/kotlin/crypto/generator/libsodium/definitions/Definitions.kt b/kotlin-multiplatform-libsodium-generator/src/main/kotlin/com/ionspin/kotlin/crypto/generator/libsodium/definitions/Definitions.kt index a361163..a4ef921 100644 --- a/kotlin-multiplatform-libsodium-generator/src/main/kotlin/com/ionspin/kotlin/crypto/generator/libsodium/definitions/Definitions.kt +++ b/kotlin-multiplatform-libsodium-generator/src/main/kotlin/com/ionspin/kotlin/crypto/generator/libsodium/definitions/Definitions.kt @@ -10,6 +10,10 @@ import com.squareup.kotlinpoet.asTypeName * on 28-Jul-2020 */ +val packageName = "debug.test" + +fun withPackageName(name: String) = ClassName(packageName, name) + class KotlinFileDefinition( val name: String, val commonClassList: MutableList = mutableListOf() @@ -117,6 +121,16 @@ fun funcDef( return function } +fun funcDef( + name: String, + returnType: GeneralTypeDefinition, + body: FunctionDefinition.() -> Unit +): FunctionDefinition { + val function = FunctionDefinition(name, name, name, name, returnType = returnType) + function.body() + return function +} + object LibSodiumDefinitions { val testKotlinFile = fileDef("DebugTest") { @@ -128,22 +142,16 @@ object LibSodiumDefinitions { "crypto_hash_sha256_state" ) +funcDef( - "init", - "crypto_hash_sha256_init", - "crypto_hash_sha256_init", "crypto_hash_sha256_init", TypeDefinition.INT ) { - +ParameterDefinition("state", CustomTypeDefinition(ClassName.bestGuess("Sha256State"))) + +ParameterDefinition("state", CustomTypeDefinition((withPackageName("Sha256State")))) } } +classDef("GenericHash") { +funcDef( - "init", - "crypto_generichash_init", - "crypto_generichash_init", "crypto_generichash_init", TypeDefinition.INT ) { diff --git a/multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/debug/test/DebugTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/debug/test/DebugTest.kt index e74773c..31becf3 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/debug/test/DebugTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonMain/kotlin/debug/test/DebugTest.kt @@ -1,17 +1,16 @@ package debug.test -import Sha256State import kotlin.Int import kotlin.UByteArray expect class Sha256State expect class Hashing { - fun init(state: Sha256State): Int + fun crypto_hash_sha256_init(state: Sha256State): Int } expect class GenericHash { - fun init( + fun crypto_generichash_init( state: UByteArray, key: UByteArray, outlen: Int diff --git a/multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/debug/test/DebugTest.kt b/multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/debug/test/DebugTest.kt index 719a140..c2ab0a2 100644 --- a/multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/debug/test/DebugTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/jvmMain/kotlin/debug/test/DebugTest.kt @@ -1,6 +1,5 @@ package debug.test -import Sha256State import com.goterl.lazycode.lazysodium.SodiumJava import com.goterl.lazycode.lazysodium.interfaces.Hash import kotlin.Int @@ -11,14 +10,14 @@ val sodium: SodiumJava = SodiumJava() actual typealias Sha256State = Hash.State256 actual class Hashing { - actual fun init(state: Sha256State): Int { + actual fun crypto_hash_sha256_init(state: Sha256State): Int { println("Debug") return sodium.crypto_hash_sha256_init(state) } } actual class GenericHash { - actual fun init( + actual fun crypto_generichash_init( state: UByteArray, key: UByteArray, outlen: Int