diff --git a/appmock/src/androidTest/java/land/fx/app/WNFSTest.kt b/appmock/src/androidTest/java/land/fx/app/WNFSTest.kt
index eda318b..b57e0b2 100644
--- a/appmock/src/androidTest/java/land/fx/app/WNFSTest.kt
+++ b/appmock/src/androidTest/java/land/fx/app/WNFSTest.kt
@@ -4,9 +4,9 @@ import android.util.Log
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.rule.ActivityTestRule
-import fulamobile.Config
import fulamobile.Fulamobile
-import land.fx.wnfslib.*
+import land.fx.wnfslib.Fs.*
+import land.fx.wnfslib.Config
import org.junit.Assert.*
import org.junit.Rule
import org.junit.Test
@@ -16,7 +16,7 @@ import java.io.File
@RunWith(AndroidJUnit4::class)
class WNFSTest {
- class ConvertFulaClient(private val fulaClient: fulamobile.Client): land.fx.wnfslib.Client{
+ class ConvertFulaClient(private val fulaClient: fulamobile.Client): land.fx.wnfslib.Datastore{
override fun put(data: ByteArray, codec: Long): ByteArray{
return fulaClient.put(data, codec)
}
@@ -37,7 +37,7 @@ class WNFSTest {
Log.d("AppMock", "tmp dir==$pathString")
//val path = Path(pathString)
- val configExt = Config()
+ val configExt = fulamobile.Config()
configExt.storePath = pathString
val peerIdentity = Fulamobile.generateEd25519Key()
configExt.identity = peerIdentity
@@ -74,7 +74,7 @@ class WNFSTest {
assertNotNull("cid should not be null", config.cid)
assertNotNull("private_ref should not be null", config.private_ref)
- var testContent = "Hello, World!".toByteArray()
+ val testContent = "Hello, World!".toByteArray()
val file = File(pathString, "test.txt")
// create a new file
diff --git a/appmock/src/main/java/land/fx/app/MainActivity.kt b/appmock/src/main/java/land/fx/app/MainActivity.kt
index 783aa06..0ee358d 100644
--- a/appmock/src/main/java/land/fx/app/MainActivity.kt
+++ b/appmock/src/main/java/land/fx/app/MainActivity.kt
@@ -2,7 +2,7 @@ package land.fx.app
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
-import land.fx.wnfslib.initRustLogger
+import land.fx.wnfslib.Fs.initRustLogger
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/build.gradle b/build.gradle
index 1db9f9d..966e4b7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,7 +9,7 @@ buildscript {
gradlePluginPortal()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.3.0'
+ classpath 'com.android.tools.build:gradle:7.3.1'
classpath "org.mozilla.rust-android-gradle:plugin:0.9.3"
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10'
classpath "com.palantir.gradle.gitversion:gradle-git-version:0.15.0"
diff --git a/jitpack.yml b/jitpack.yml
index 27c9aeb..5f73917 100644
--- a/jitpack.yml
+++ b/jitpack.yml
@@ -2,4 +2,4 @@ before_install:
- git lfs pull
install:
- FILE="-Dfile=lib/build/outputs/aar/lib-release.aar"
- - mvn install:install-file $FILE -DgroupId=com.group.module -DartifactId=wnfs-android -Dversion=1.2.4 -Dpackaging=aar -DgeneratePom=true
+ - mvn install:install-file $FILE -DgroupId=com.group.module -DartifactId=wnfs-android -Dversion=1.2.5 -Dpackaging=aar -DgeneratePom=true
diff --git a/lib/src/main/java/land/fx/wnfslib/Config.java b/lib/src/main/java/land/fx/wnfslib/Config.java
new file mode 100644
index 0000000..a04d494
--- /dev/null
+++ b/lib/src/main/java/land/fx/wnfslib/Config.java
@@ -0,0 +1,27 @@
+package land.fx.wnfslib;
+
+import androidx.annotation.NonNull;
+
+public final class Config {
+ private final String cid;
+
+ private final String private_ref;
+
+ public String getCid() {
+ return this.cid;
+ }
+
+ public String getPrivate_ref() {
+ return this.private_ref;
+ }
+
+ public Config(String cid, String private_ref) {
+ super();
+ this.cid = cid;
+ this.private_ref = private_ref;
+ }
+
+ public static Config create(String cid, String private_ref1) {
+ return new Config(cid, private_ref1);
+ }
+}
diff --git a/lib/src/main/java/land/fx/wnfslib/Datastore.java b/lib/src/main/java/land/fx/wnfslib/Datastore.java
new file mode 100644
index 0000000..f60ceaa
--- /dev/null
+++ b/lib/src/main/java/land/fx/wnfslib/Datastore.java
@@ -0,0 +1,7 @@
+package land.fx.wnfslib;
+
+public interface Datastore {
+ byte[] put(byte[] data, long codec);
+
+ byte[] get(byte[] cid);
+}
diff --git a/lib/src/main/java/land/fx/wnfslib/Fs.java b/lib/src/main/java/land/fx/wnfslib/Fs.java
new file mode 100644
index 0000000..1ef97f5
--- /dev/null
+++ b/lib/src/main/java/land/fx/wnfslib/Fs.java
@@ -0,0 +1,64 @@
+package land.fx.wnfslib;
+
+import androidx.annotation.NonNull;
+
+public final class Fs {
+
+ private static native String createPrivateForestNative(Datastore datastore);
+
+ private static native Config createRootDirNative(Datastore datastore, String cid);
+
+ private static native Config writeFileFromPathNative(Datastore datastore, String cid, String privateRef, String path, String filename);
+
+ private static native Config writeFileNative(Datastore datastore, String cid, String privateRef, String path, byte[] content);
+
+ private static native String lsNative(Datastore datastore, String cid, String privateRef, String path);
+
+ private static native Config mkdirNative(Datastore datastore, String cid, String privateRef, String path);
+
+ private static native Config rmNative(Datastore datastore, String cid, String privateRef, String path);
+
+ private static native String readFileToPathNative(Datastore datastore, String cid, String privateRef, String path, String filename);
+
+ private static native byte[] readFileNative(Datastore datastore, String cid, String privateRef, String path);
+
+ public static String createPrivateForest(Datastore datastore) {
+ return createPrivateForestNative(datastore);
+ }
+
+ public static Config createRootDir(Datastore datastore, String cid) {
+ return createRootDirNative(datastore, cid);
+ }
+
+ public static Config writeFileFromPath(Datastore datastore, String cid, String privateRef, String path, String filename) {
+ return writeFileFromPathNative(datastore, cid, privateRef, path, filename);
+ }
+
+ public static Config writeFile(Datastore datastore, String cid, String privateRef, String path, byte[] content) {
+ return writeFileNative(datastore, cid, privateRef, path, content);
+ }
+
+ public static String ls(Datastore datastore, String cid, String privateRef, String path) {
+ return lsNative(datastore, cid, privateRef, path);
+ }
+
+ public static Config mkdir(Datastore datastore, String cid, String privateRef, String path) {
+ return mkdirNative(datastore, cid, privateRef, path);
+ }
+
+ public static Config rm(Datastore datastore, String cid, String privateRef, String path) {
+ return rmNative(datastore, cid, privateRef, path);
+ }
+
+ public static String readFileToPath(Datastore datastore, String cid, String privateRef, String path, String filename) {
+ return readFileToPathNative(datastore, cid, privateRef, path, filename);
+ }
+
+ public static byte[] readFile(Datastore datastore, String cid, String privateRef, String path) {
+ return readFileNative(datastore, cid, privateRef, path);
+ }
+
+ public static native void initRustLogger();
+}
+
+
diff --git a/lib/src/main/java/land/fx/wnfslib/Lib.kt b/lib/src/main/java/land/fx/wnfslib/Lib.kt
deleted file mode 100644
index cc74923..0000000
--- a/lib/src/main/java/land/fx/wnfslib/Lib.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-package land.fx.wnfslib;
-
-
-data class Config(
- val cid: String,
- val private_ref: String){
- companion object {
- @JvmStatic
- fun create(cid: String, private_ref: String) : Config = Config(cid, private_ref)
- }
-}
-
-interface Client {
- fun put(data: ByteArray, codec: Long): ByteArray
- fun get(cid: ByteArray): ByteArray
-}
-
-
-private external fun createPrivateForestNative(fulaClient: Client): String
-
-private external fun createRootDirNative(fulaClient: Client, cid: String): Config
-
-private external fun writeFileFromPathNative(fulaClient: Client, cid: String, privateRef: String, path: String, filename: String): Config
-
-private external fun writeFileNative(fulaClient: Client, cid: String, privateRef: String, path: String, content: ByteArray): Config
-
-private external fun lsNative(fulaClient: Client, cid: String, privateRef: String, path: String): String
-
-private external fun mkdirNative(fulaClient: Client, cid: String, privateRef: String, path: String): Config
-
-private external fun rmNative(fulaClient: Client, cid: String, privateRef: String, path: String): Config
-
-private external fun readFileToPathNative(fulaClient: Client, cid: String, privateRef: String, path: String, filename: String): String
-
-private external fun readFileNative(fulaClient: Client, cid: String, privateRef: String, path: String): ByteArray?
-
-fun createPrivateForest(fulaClient: Client): String {
- return createPrivateForestNative(fulaClient)
-}
-
-fun createRootDir(fulaClient: Client, cid: String): Config {
- return createRootDirNative(fulaClient, cid)
-}
-
-fun writeFileFromPath(fulaClient: Client, cid: String, privateRef: String, path: String, filename: String): Config {
- return writeFileFromPathNative(fulaClient, cid, privateRef, path, filename)
-}
-
-fun writeFile(fulaClient: Client, cid: String, privateRef: String, path: String, content: ByteArray): Config {
- return writeFileNative(fulaClient, cid, privateRef, path, content)
-}
-
-fun ls(fulaClient: Client, cid: String, privateRef: String, path: String): String {
- return lsNative(fulaClient, cid, privateRef, path)
-}
-
-fun mkdir(fulaClient: Client, cid: String, privateRef: String, path: String): Config {
- return mkdirNative(fulaClient, cid, privateRef, path)
-}
-
-fun rm(fulaClient: Client, cid: String, privateRef: String, path: String): Config {
- return rmNative(fulaClient, cid, privateRef, path)
-}
-
-fun readFileToPath(fulaClient: Client, cid: String, privateRef: String, path: String, filename: String): String {
- return readFileToPathNative(fulaClient, cid, privateRef, path, filename)
-}
-
-fun readFile(fulaClient: Client, cid: String, privateRef: String, path: String): ByteArray? {
- return readFileNative(fulaClient, cid, privateRef, path)
-}
-
-// Initialize Rust Library Logging
-external fun initRustLogger()
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index da47f94..897b7ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,5 +5,5 @@
4.0.0
com.group.module
wnfs-android
- 1.2.4
+ 1.2.5
diff --git a/wnfslib/src/lib.rs b/wnfslib/src/lib.rs
index 15e3cd6..d243dfc 100644
--- a/wnfslib/src/lib.rs
+++ b/wnfslib/src/lib.rs
@@ -108,12 +108,12 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_initRustLogger(_: JNIEnv, _: JClass) {
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_initRustLogger(_: JNIEnv, _: JClass) {
android_logger::init_once(Config::default().with_min_level(Level::Trace));
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_createPrivateForestNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_createPrivateForestNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -127,7 +127,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_createRootDirNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_createRootDirNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -147,7 +147,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_writeFileFromPathNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_writeFileFromPathNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -182,7 +182,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_readFileToPathNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_readFileToPathNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -218,7 +218,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_writeFileNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_writeFileNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -248,7 +248,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_readFileNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_readFileNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -281,7 +281,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_mkdirNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_mkdirNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -308,7 +308,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_rmNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_rmNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -335,7 +335,7 @@ pub mod android {
}
#[no_mangle]
- pub extern "C" fn Java_land_fx_wnfslib_LibKt_lsNative(
+ pub extern "C" fn Java_land_fx_wnfslib_Fs_lsNative(
env: JNIEnv,
_: JClass,
jni_fula_client: JObject,
@@ -408,7 +408,7 @@ pub mod android {
pub fn serialize_cid(env: JNIEnv, cid: Cid) -> JString {
trace!("**********************serialize_cid started**************");
trace!(
- "**********************serialize_cid cid={}",
+ "**********************serialize_cid cid={:?}",
cid.to_string()
);
let a: JString = env