From b078d693729ec5ed0403611725dff3ad02303381 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Wed, 22 Apr 2015 20:29:34 -0700 Subject: join() and leave() functions Signed-off-by: Grant Limberg --- java/jni/com_zerotierone_sdk_Node.cpp | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'java') diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp index 118e36d5..62cd6da4 100644 --- a/java/jni/com_zerotierone_sdk_Node.cpp +++ b/java/jni/com_zerotierone_sdk_Node.cpp @@ -519,6 +519,53 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processBackgroundTasks return createResultObject(env, rc); } +/* + * Class: com_zerotierone_sdk_Node + * Method: join + * Signature: (JJ)Lcom/zerotierone/sdk/ResultCode; + */ +JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_join + (JNIEnv *env, jobject obj, jlong id, jlong in_nwid) +{ + uint64_t nodeId = (uint64_t) id; + ZT1_Node *node = findNode(nodeId); + if(node == NULL) + { + // cannot find valid node. We should never get here. + return createResultObject(env, ZT1_RESULT_FATAL_ERROR_INTERNAL); + } + + uint64_t nwid = (uint64_t)in_nwid; + + ZT1_ResultCode rc = ZT1_Node_join(node, nwid); + + return createResultObject(env, rc); +} + +/* + * Class: com_zerotierone_sdk_Node + * Method: leave + * Signature: (JJ)Lcom/zerotierone/sdk/ResultCode; + */ +JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_leave + (JNIEnv *env, jobject obj, jlong id, jlong in_nwid) +{ + uint64_t nodeId = (uint64_t) id; + ZT1_Node *node = findNode(nodeId); + if(node == NULL) + { + // cannot find valid node. We should never get here. + return createResultObject(env, ZT1_RESULT_FATAL_ERROR_INTERNAL); + } + + uint64_t nwid = (uint64_t)in_nwid; + + ZT1_ResultCode rc = ZT1_Node_leave(node, nwid); + + return createResultObject(env, rc); +} + + #ifdef __cplusplus } // extern "C" #endif \ No newline at end of file -- cgit v1.2.3