diff --git a/libsession-util/src/main/cpp/CMakeLists.txt b/libsession-util/src/main/cpp/CMakeLists.txt index d01523a24..23f6e0c54 100644 --- a/libsession-util/src/main/cpp/CMakeLists.txt +++ b/libsession-util/src/main/cpp/CMakeLists.txt @@ -30,7 +30,8 @@ set(SOURCES config_base.cpp contacts.cpp conversation.cpp - util.cpp) + util.cpp + group_info.cpp) add_library( # Sets the name of the library. session_util diff --git a/libsession-util/src/main/cpp/group_info.cpp b/libsession-util/src/main/cpp/group_info.cpp new file mode 100644 index 000000000..3addb1648 --- /dev/null +++ b/libsession-util/src/main/cpp/group_info.cpp @@ -0,0 +1,27 @@ +#include +#include "group_info.h" + + +extern "C" +JNIEXPORT jobject JNICALL +Java_network_loki_messenger_libsession_1util_GroupInfoConfig_newInstance__Ljava_lang_String_2( + JNIEnv *env, jobject thiz, jstring pub_key_hex) { + auto pub_key = env->GetStringUTFChars(pub_key_hex, nullptr); + + env->ReleaseStringUTFChars(pub_key_hex, pub_key); +} + +extern "C" +JNIEXPORT jobject JNICALL +Java_network_loki_messenger_libsession_1util_GroupInfoConfig_newInstance__Ljava_lang_String_2_3B( + JNIEnv *env, jobject thiz, jstring pub_key_hex, jbyteArray secret_key) { + // TODO: implement newInstance() +} + +extern "C" +JNIEXPORT jobject JNICALL +Java_network_loki_messenger_libsession_1util_GroupInfoConfig_newInstance__Ljava_lang_String_2_3B_3B( + JNIEnv *env, jobject thiz, jstring pub_key_hex, jbyteArray secret_key, + jbyteArray initial_dump) { + // TODO: implement newInstance() +} \ No newline at end of file diff --git a/libsession-util/src/main/cpp/group_info.h b/libsession-util/src/main/cpp/group_info.h new file mode 100644 index 000000000..210c42cab --- /dev/null +++ b/libsession-util/src/main/cpp/group_info.h @@ -0,0 +1,6 @@ +#ifndef SESSION_ANDROID_GROUP_INFO_H +#define SESSION_ANDROID_GROUP_INFO_H + +#include "util.h" + +#endif //SESSION_ANDROID_GROUP_INFO_H diff --git a/libsession-util/src/main/java/network/loki/messenger/libsession_util/Config.kt b/libsession-util/src/main/java/network/loki/messenger/libsession_util/Config.kt index 52fb541d7..3669be94a 100644 --- a/libsession-util/src/main/java/network/loki/messenger/libsession_util/Config.kt +++ b/libsession-util/src/main/java/network/loki/messenger/libsession_util/Config.kt @@ -23,6 +23,7 @@ sealed class ConfigBase(protected val /* yucky */ pointer: Long) { is Contacts -> Kind.CONTACTS is ConversationVolatileConfig -> Kind.CONVO_INFO_VOLATILE is UserGroupsConfig -> Kind.GROUPS + is GroupInfoConfig -> Kind.CLOSED_GROUP_INFO } // TODO: time in future to activate (hardcoded to 1st jan 2024 for testing, change before release) @@ -197,4 +198,14 @@ class UserGroupsConfig(pointer: Long): ConfigBase(pointer) { external fun all(): List external fun allCommunityInfo(): List external fun allLegacyGroupInfo(): List -} \ No newline at end of file +} + +class GroupInfoConfig(pointer: Long): ConfigBase(pointer) { + companion object {} + init { + System.loadLibrary("session_util") + } + external fun newInstance(pubKeyHex: String): GroupInfoConfig + external fun newInstance(pubKeyHex: String, secretKey: ByteArray?): GroupInfoConfig + external fun newInstance(pubKeyHex: String, secretKey: ByteArray?, initialDump: ByteArray): GroupInfoConfig +}