summaryrefslogtreecommitdiff
path: root/java/jni
diff options
context:
space:
mode:
authorGrant Limberg <grant.limberg@zerotier.com>2017-03-29 13:29:02 -0700
committerGrant Limberg <grant.limberg@zerotier.com>2017-03-29 13:29:02 -0700
commit5f611dad51f8244b59a63ecdf48a2126c5995d74 (patch)
tree957c32101f1398b0a9a2507d9860a140bd614a3e /java/jni
parent1c5fdb8a0a20654cdec57347647034357e0f92a4 (diff)
downloadinfinitytier-5f611dad51f8244b59a63ecdf48a2126c5995d74.tar.gz
infinitytier-5f611dad51f8244b59a63ecdf48a2126c5995d74.zip
added orbit/deorbit methods to java Node implementation
Diffstat (limited to 'java/jni')
-rw-r--r--java/jni/com_zerotierone_sdk_Node.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp
index ac0453ba..defbe7f2 100644
--- a/java/jni/com_zerotierone_sdk_Node.cpp
+++ b/java/jni/com_zerotierone_sdk_Node.cpp
@@ -1286,6 +1286,54 @@ JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_multicastUnsubscribe(
}
/*
+ * Class: com_zerotier_sdk_Node
+ * Method: orbit
+ * Signature: (JJJ)Lcom/zerotier/sdk/ResultCode;
+ */
+JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_orbit(
+ JNIEnv *env, jobject obj,
+ jlong id,
+ jlong in_moonWorldId,
+ jlong in_moonSeed)
+{
+ uint64_t nodeId = (uint64_t)id;
+ ZT_Node *node = findNode(nodeId);
+ if(node == NULL)
+ {
+ return createResultObject(env, ZT_RESULT_FATAL_ERROR_INTERNAL);
+ }
+
+ uint64_t moonWorldId = (uint64_t)in_moonWorldId;
+ uint64_t moonSeed = (uint64_t)in_moonSeed;
+
+ ZT_ResultCode rc = ZT_Node_orbit(node, NULL, moonWorldId, moonSeed);
+ return createResultObject(env, rc);
+}
+
+/*
+ * Class: com_zerotier_sdk_Node
+ * Method: deorbit
+ * Signature: (JJ)L/com/zerotier/sdk/ResultCode;
+ */
+JNIEXPORT jobject JNICALL Java_com_zerotier_sdk_Node_deorbit(
+ JNIEnv *env, jobject obj,
+ jlong id,
+ jlong in_moonWorldId)
+{
+ uint64_t nodeId = (uint64_t)id;
+ ZT_Node *node = findNode(nodeId);
+ if(node == NULL)
+ {
+ return createResultObject(env, ZT_RESULT_FATAL_ERROR_INTERNAL);
+ }
+
+ uint64_t moonWorldId = (uint64_t)in_moonWorldId;
+
+ ZT_ResultCode rc = ZT_Node_deorbit(node, NULL, moonWorldId);
+ return createResultObject(env, rc);
+}
+
+/*
* Class: com_zerotier_sdk_Node
* Method: address
* Signature: (J)J