|
|
|
|
@ -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 |