summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2015-04-22 20:29:34 -0700
committerGrant Limberg <glimberg@gmail.com>2015-04-22 20:29:34 -0700
commitb078d693729ec5ed0403611725dff3ad02303381 (patch)
treebb69349cc1b6e608af9f021ceb5516df44077d46 /java
parente31e54483c0b7bd32d1122b7952c4f8a7315acf8 (diff)
downloadinfinitytier-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.cpp47
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