From 5f314f209e890fe38d974927b3b63ebb0ecb24b6 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Mon, 20 Apr 2015 20:32:29 -0700 Subject: Updated Java Node class native methods to pass the node ID This is so that we know which C-based ZT1_Node struct is being operated on Signed-off-by: Grant Limberg --- java/jni/Android.mk | 7 ++++++ java/jni/com_zerotierone_sdk_Node.h | 44 +++++++++++++++++++++++++------------ 2 files changed, 37 insertions(+), 14 deletions(-) (limited to 'java/jni') diff --git a/java/jni/Android.mk b/java/jni/Android.mk index 8bc63e7c..74be8d4f 100644 --- a/java/jni/Android.mk +++ b/java/jni/Android.mk @@ -3,6 +3,9 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ZeroTierOneJNI +LOCAL_C_INCLUDES := $(ZT1)/include + +# ZeroTierOne SDK source files LOCAL_SRC_FILES := \ $(ZT1)/ext/lz4/lz4.c \ $(ZT1)/ext/json-parser/json.c \ @@ -31,4 +34,8 @@ LOCAL_SRC_FILES := \ $(ZT1)/osdep/Http.cpp \ $(ZT1)/osdep/OSUtils.cpp +# JNI Files +LOCAL_SRC_FILES += \ + com_zerotierone_sdk_Node.cpp + include $(BUILD_SHARED_LIBRARY) \ No newline at end of file diff --git a/java/jni/com_zerotierone_sdk_Node.h b/java/jni/com_zerotierone_sdk_Node.h index 6dc0f35e..706e7bcd 100644 --- a/java/jni/com_zerotierone_sdk_Node.h +++ b/java/jni/com_zerotierone_sdk_Node.h @@ -7,61 +7,77 @@ #ifdef __cplusplus extern "C" { #endif +/* + * Class: com_zerotierone_sdk_Node + * Method: node_init + * Signature: (J)Lcom/zerotierone/sdk/ResultCode; + */ +JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init + (JNIEnv *, jobject, jlong); + +/* + * Class: com_zerotierone_sdk_Node + * Method: node_delete + * Signature: (J)V + */ +JNIEXPORT void JNICALL Java_com_zerotierone_sdk_Node_node_1delete + (JNIEnv *, jobject, jlong); + /* * Class: com_zerotierone_sdk_Node * Method: processVirtualNetworkFrame - * Signature: (JJJJIILjava/nio/ByteBuffer;ILjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJJJJIILjava/nio/ByteBuffer;ILjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processVirtualNetworkFrame - (JNIEnv *, jobject, jlong, jlong, jlong, jlong, jint, jint, jobject, jint, jobject); + (JNIEnv *, jobject, jlong, jlong, jlong, jlong, jlong, jint, jint, jobject, jint, jobject); /* * Class: com_zerotierone_sdk_Node * Method: processBackgroundTasks - * Signature: (JLjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJLjava/lang/Long;)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processBackgroundTasks - (JNIEnv *, jobject, jlong, jobject); + (JNIEnv *, jobject, jlong, jlong, jobject); /* * Class: com_zerotierone_sdk_Node * Method: join - * Signature: (J)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJ)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_join - (JNIEnv *, jobject, jlong); + (JNIEnv *, jobject, jlong, jlong); /* * Class: com_zerotierone_sdk_Node * Method: leave - * Signature: (J)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJ)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_leave - (JNIEnv *, jobject, jlong); + (JNIEnv *, jobject, jlong, jlong); /* * Class: com_zerotierone_sdk_Node * Method: multicastSubscribe - * Signature: (JJJ)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJJJ)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_multicastSubscribe - (JNIEnv *, jobject, jlong, jlong, jlong); + (JNIEnv *, jobject, jlong, jlong, jlong, jlong); /* * Class: com_zerotierone_sdk_Node * Method: multicastUnsubscribe - * Signature: (JJJ)Lcom/zerotierone/sdk/ResultCode; + * Signature: (JJJJ)Lcom/zerotierone/sdk/ResultCode; */ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_multicastUnsubscribe - (JNIEnv *, jobject, jlong, jlong, jlong); + (JNIEnv *, jobject, jlong, jlong, jlong, jlong); /* * Class: com_zerotierone_sdk_Node * Method: address - * Signature: ()J + * Signature: (J)J */ JNIEXPORT jlong JNICALL Java_com_zerotierone_sdk_Node_address - (JNIEnv *, jobject); + (JNIEnv *, jobject, jlong); #ifdef __cplusplus } -- cgit v1.2.3