diff options
author | Grant Limberg <glimberg@gmail.com> | 2015-04-22 20:29:34 -0700 |
---|---|---|
committer | Grant Limberg <glimberg@gmail.com> | 2015-04-22 20:29:34 -0700 |
commit | b078d693729ec5ed0403611725dff3ad02303381 (patch) | |
tree | bb69349cc1b6e608af9f021ceb5516df44077d46 /java | |
parent | e31e54483c0b7bd32d1122b7952c4f8a7315acf8 (diff) | |
download | infinitytier-b078d693729ec5ed0403611725dff3ad02303381.tar.gz infinitytier-b078d693729ec5ed0403611725dff3ad02303381.zip |
join() and leave() functions
Signed-off-by: Grant Limberg <glimberg@gmail.com>
Diffstat (limited to 'java')
-rw-r--r-- | java/jni/com_zerotierone_sdk_Node.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
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 |