diff options
Diffstat (limited to 'java/jni/com_zerotierone_sdk_Node.cpp')
-rw-r--r-- | java/jni/com_zerotierone_sdk_Node.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp index 3b5c00a0..d67b83a1 100644 --- a/java/jni/com_zerotierone_sdk_Node.cpp +++ b/java/jni/com_zerotierone_sdk_Node.cpp @@ -36,13 +36,13 @@ #include <assert.h> #include <string.h> +// global static JNI Cache Object +JniCache cache; + #ifdef __cplusplus extern "C" { #endif -// global static JNI Cache Object -static JniCache cache; - namespace { struct JniRef { @@ -103,7 +103,7 @@ namespace { return -1; } - jmethodID configListenerCallbackMethod = env->GetMethodID(configListenerClass, + jmethodID configListenerCallbackMethod = cache.findMethod(configListenerClass, "onNetworkConfigurationUpdated", "(JLcom/zerotierone/sdk/VirtualNetworkConfigOperation;Lcom/zerotierone/sdk/VirtualNetworkConfig;)I"); if(configListenerCallbackMethod == NULL) @@ -154,7 +154,7 @@ namespace { return; } - jmethodID frameListenerCallbackMethod = env->GetMethodID( + jmethodID frameListenerCallbackMethod = cache.findMethod( frameListenerClass, "onVirtualNetworkFrame", "(JJJJJ[B)V"); if(frameListenerCallbackMethod == NULL) @@ -185,7 +185,7 @@ namespace { return; } - jmethodID onEventMethod = env->GetMethodID(eventListenerClass, + jmethodID onEventMethod = cache.findMethod(eventListenerClass, "onEvent", "(Lcom/zerotierone/sdk/Event;)V"); if(onEventMethod == NULL) { @@ -194,7 +194,7 @@ namespace { } - jmethodID onOutOfDateMethod = env->GetMethodID(eventListenerClass, + jmethodID onOutOfDateMethod = cache.findMethod(eventListenerClass, "onOutOfDate", "(Lcom/zerotierone/sdk/Version;)V"); if(onOutOfDateMethod == NULL) { @@ -203,7 +203,7 @@ namespace { } - jmethodID onNetworkErrorMethod = env->GetMethodID(eventListenerClass, + jmethodID onNetworkErrorMethod = cache.findMethod(eventListenerClass, "onNetworkError", "(Lcom/zerotierone/sdk/Event;Ljava/net/InetSocketAddress;)V"); if(onNetworkErrorMethod == NULL) { @@ -212,7 +212,7 @@ namespace { } - jmethodID onTraceMethod = env->GetMethodID(eventListenerClass, + jmethodID onTraceMethod = cache.findMethod(eventListenerClass, "onTrace", "(Ljava/lang/String;)V"); if(onTraceMethod == NULL) { @@ -292,7 +292,7 @@ namespace { return -2; } - jmethodID dataStoreGetCallbackMethod = env->GetMethodID( + jmethodID dataStoreGetCallbackMethod = cache.findMethod( dataStoreGetClass, "onDataStoreGet", "(Ljava/lang/String;[BJ[J)J"); @@ -361,7 +361,7 @@ namespace { return -1; } - jmethodID dataStorePutCallbackMethod = env->GetMethodID( + jmethodID dataStorePutCallbackMethod = cache.findMethod( dataStorePutClass, "onDataStorePut", "(Ljava/lang/String;[BZ)I"); @@ -371,7 +371,7 @@ namespace { return -2; } - jmethodID deleteMethod = env->GetMethodID(dataStorePutClass, + jmethodID deleteMethod = cache.findMethod(dataStorePutClass, "onDelete", "(Ljava/lang/String;)I"); if(deleteMethod == NULL) { @@ -421,7 +421,7 @@ namespace { return -1; } - jmethodID packetSenderCallbackMethod = env->GetMethodID(packetSenderClass, + jmethodID packetSenderCallbackMethod = cache.findMethod(packetSenderClass, "onSendPacketRequested", "(Ljava/net/InetSocketAddress;I[B)I"); if(packetSenderCallbackMethod == NULL) { @@ -479,7 +479,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( env->GetJavaVM(&ref->jvm); jclass cls = env->GetObjectClass(obj); - jfieldID fid = env->GetFieldID( + jfieldID fid = cache.findField( cls, "getListener", "Lcom/zerotierone/sdk/DataStoreGetListener;"); if(fid == NULL) @@ -494,7 +494,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( } ref->dataStoreGetListener = env->NewGlobalRef(tmp); - fid = env->GetFieldID( + fid = cache.findField( cls, "putListener", "Lcom/zerotierone/sdk/DataStorePutListener;"); if(fid == NULL) @@ -509,7 +509,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( } ref->dataStorePutListener = env->NewGlobalRef(tmp); - fid = env->GetFieldID( + fid = cache.findField( cls, "sender", "Lcom/zerotierone/sdk/PacketSender;"); if(fid == NULL) { @@ -523,7 +523,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( } ref->packetSender = env->NewGlobalRef(tmp); - fid = env->GetFieldID( + fid = cache.findField( cls, "frameListener", "Lcom/zerotierone/sdk/VirtualNetworkFrameListener;"); if(fid == NULL) { @@ -537,7 +537,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( } ref->frameListener = env->NewGlobalRef(tmp); - fid = env->GetFieldID( + fid = cache.findField( cls, "configListener", "Lcom/zerotierone/sdk/VirtualNetworkConfigListener;"); if(fid == NULL) { @@ -551,7 +551,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_node_1init( } ref->configListener = env->NewGlobalRef(tmp); - fid = env->GetFieldID( + fid = cache.findField( cls, "eventListener", "Lcom/zerotierone/sdk/EventListener;"); if(fid == NULL) { @@ -722,14 +722,14 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processWirePacket( unsigned int linkDesparation = (unsigned int)in_linkDesparation; // get the java.net.InetSocketAddress class and getAddress() method - jclass inetAddressClass = env->FindClass("java/net/InetAddress"); + jclass inetAddressClass = cache.findClass("java/net/InetAddress"); if(inetAddressClass == NULL) { // can't find java.net.InetAddress return createResultObject(env, ZT1_RESULT_FATAL_ERROR_INTERNAL); } - jmethodID getAddressMethod = env->GetMethodID( + jmethodID getAddressMethod = cache.findMethod( inetAddressClass, "getAddress", "()[B"); if(getAddressMethod == NULL) { @@ -737,13 +737,13 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_processWirePacket( return createResultObject(env, ZT1_RESULT_FATAL_ERROR_INTERNAL); } - jclass InetSocketAddressClass = env->FindClass("java/net/InetSocketAddress"); + jclass InetSocketAddressClass = cache.findClass("java/net/InetSocketAddress"); if(InetSocketAddressClass == NULL) { return createResultObject(env, ZT1_RESULT_FATAL_ERROR_INTERNAL); } - jmethodID inetSockGetAddressMethod = env->GetMethodID( + jmethodID inetSockGetAddressMethod = cache.findMethod( InetSocketAddressClass, "getAddress", "()Ljava/net/InetAddress;"); jobject addrObject = env->CallObjectMethod(in_remoteAddress, inetSockGetAddressMethod); @@ -951,7 +951,7 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_multicastUnsubscribe( uint64_t nwid = (uint64_t)in_nwid; uint64_t multicastGroup = (uint64_t)in_multicastGroup; - uint64_t multicastAdi = (uint64_t)in_multicastAdi; + unsigned long multicastAdi = (unsigned long)in_multicastAdi; ZT1_ResultCode rc = ZT1_Node_multicastUnsubscribe( node, nwid, multicastGroup, multicastAdi); @@ -999,13 +999,13 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_status jmethodID nodeStatusConstructor = NULL; // create a com.zerotierone.sdk.NodeStatus object - nodeStatusClass = env->FindClass("com/zerotierone/sdk/NodeStatus"); + nodeStatusClass = cache.findClass("com/zerotierone/sdk/NodeStatus"); if(nodeStatusClass == NULL) { return NULL; } - nodeStatusConstructor = env->GetMethodID( + nodeStatusConstructor = cache.findMethod( nodeStatusClass, "<init>", "()V"); if(nodeStatusConstructor == NULL) { @@ -1026,25 +1026,25 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_status jfieldID secretIdentityField = NULL; jfieldID onlineField = NULL; - addressField = env->GetFieldID(nodeStatusClass, "address", "J"); + addressField = cache.findField(nodeStatusClass, "address", "J"); if(addressField == NULL) { return NULL; } - publicIdentityField = env->GetFieldID(nodeStatusClass, "publicIdentity", "Ljava/lang/String;"); + publicIdentityField = cache.findField(nodeStatusClass, "publicIdentity", "Ljava/lang/String;"); if(publicIdentityField == NULL) { return NULL; } - secretIdentityField = env->GetFieldID(nodeStatusClass, "secretIdentity", "Ljava/lang/String;"); + secretIdentityField = cache.findField(nodeStatusClass, "secretIdentity", "Ljava/lang/String;"); if(secretIdentityField == NULL) { return NULL; } - onlineField = env->GetFieldID(nodeStatusClass, "online", "Z"); + onlineField = cache.findField(nodeStatusClass, "online", "Z"); if(onlineField == NULL) { return NULL; |