Android: Removing cancelObserve in OcResource destr.
authorTim Kourt <tim.a.kourt@intel.com>
Wed, 2 Sep 2015 17:46:00 +0000 (10:46 -0700)
committerPatrick Lankswert <patrick.lankswert@intel.com>
Wed, 16 Sep 2015 19:29:51 +0000 (19:29 +0000)
It also resets the event listeners to nullptr.
In addition it replaces all occurrences of NULL with nullptr

Change-Id: Ie0d80cc2e2312c6886e168ce7b0e4eaa9f84eac3
Signed-off-by: Tim Kourt <tim.a.kourt@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2356
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Patrick Lankswert <patrick.lankswert@intel.com>
18 files changed:
android/android_api/base/jni/JniEntityHandler.cpp
android/android_api/base/jni/JniListenerManager.h
android/android_api/base/jni/JniOcPlatform.cpp
android/android_api/base/jni/JniOcRepresentation.cpp
android/android_api/base/jni/JniOcRepresentation.h
android/android_api/base/jni/JniOcResource.cpp
android/android_api/base/jni/JniOcStack.cpp
android/android_api/base/jni/JniOcStack.h
android/android_api/base/jni/JniOnDeleteListener.cpp
android/android_api/base/jni/JniOnDeviceInfoListener.cpp
android/android_api/base/jni/JniOnGetListener.cpp
android/android_api/base/jni/JniOnObserveListener.cpp
android/android_api/base/jni/JniOnPlatformInfoListener.cpp
android/android_api/base/jni/JniOnPostListener.cpp
android/android_api/base/jni/JniOnPresenceListener.cpp
android/android_api/base/jni/JniOnPutListener.cpp
android/android_api/base/jni/JniOnResourceFoundListener.cpp
android/android_api/base/jni/JniUtils.cpp

index b2cc8ce..1d641ae 100644 (file)
@@ -35,11 +35,14 @@ JniEntityHandler::~JniEntityHandler()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env)
+        if (nullptr == env)
         {
             return;
         }
+
         env->DeleteGlobalRef(m_jListener);
+        m_jListener = nullptr;
+
         if (JNI_EDETACHED == ret)
         {
             g_jvm->DetachCurrentThread();
@@ -53,7 +56,7 @@ OCEntityHandlerResult JniEntityHandler::handleEntity(
     LOGD("JniEntityHandler_handleEntity");
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env)
+    if (nullptr == env)
     {
         return OC_EH_ERROR;
     }
index 52eddc3..b082f7d 100644 (file)
@@ -34,7 +34,7 @@ class JniListenerManager
 public:
     T* addListener(JNIEnv* env, jobject jListener, JniOcResource* owner)
     {
-        T *onEventListener = NULL;
+        T *onEventListener = nullptr;
 
         m_mapMutex.lock();
 
index 4cb6656..e3a6cd5 100644 (file)
@@ -31,7 +31,7 @@ using namespace OC;
 
 JniOnResourceFoundListener* AddOnResourceFoundListener(JNIEnv* env, jobject jListener)
 {
-    JniOnResourceFoundListener *onResourceFoundListener = NULL;
+    JniOnResourceFoundListener *onResourceFoundListener = nullptr;
 
     resourceFoundMapLock.lock();
 
@@ -103,7 +103,7 @@ void RemoveOnResourceFoundListener(JNIEnv* env, jobject jListener)
 
 JniOnDeviceInfoListener* AddOnDeviceInfoListener(JNIEnv* env, jobject jListener)
 {
-    JniOnDeviceInfoListener *onDeviceInfoListener = NULL;
+    JniOnDeviceInfoListener *onDeviceInfoListener = nullptr;
 
     deviceInfoMapLock.lock();
 
@@ -179,7 +179,7 @@ void RemoveOnDeviceInfoListener(JNIEnv* env, jobject jListener)
 
 JniOnPlatformInfoListener* AddOnPlatformInfoListener(JNIEnv* env, jobject jListener)
 {
-    JniOnPlatformInfoListener *onPlatformInfoListener = NULL;
+    JniOnPlatformInfoListener *onPlatformInfoListener = nullptr;
 
     platformInfoMapLock.lock();
 
@@ -254,7 +254,7 @@ void RemoveOnPlatformInfoListener(JNIEnv* env, jobject jListener)
 
 JniOnPresenceListener* AddOnPresenceListener(JNIEnv* env, jobject jListener)
 {
-    JniOnPresenceListener *onPresenceListener = NULL;
+    JniOnPresenceListener *onPresenceListener = nullptr;
 
     presenceMapLock.lock();
 
@@ -335,7 +335,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_configure
     std::string dbfile;
     if (jIpAddress)
     {
-        ipAddress = env->GetStringUTFChars(jIpAddress, NULL);
+        ipAddress = env->GetStringUTFChars(jIpAddress, nullptr);
     }
     if (jDbPath)
     {
@@ -602,12 +602,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource0(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -661,12 +661,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource1(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -719,12 +719,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo0(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -777,12 +777,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo1(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -835,12 +835,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo0(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -893,12 +893,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo1(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     if (!jListener)
     {
@@ -999,17 +999,17 @@ jobject jListener, jint jResourceProperty)
     std::string resourceUri;
     if (jResourceUri)
     {
-        resourceUri = env->GetStringUTFChars(jResourceUri, NULL);
+        resourceUri = env->GetStringUTFChars(jResourceUri, nullptr);
     }
     std::string resourceTypeName;
     if (jResourceTypeName)
     {
-        resourceTypeName = env->GetStringUTFChars(jResourceTypeName, NULL);
+        resourceTypeName = env->GetStringUTFChars(jResourceTypeName, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
     JniEntityHandler* entityHandler = NULL;
     EntityHandler handleEntityCallback = NULL;
@@ -1077,7 +1077,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerDeviceInfo0(
     std::string deviceName;
     if (jDeviceName)
     {
-        deviceName = env->GetStringUTFChars(jDeviceName, NULL);
+        deviceName = env->GetStringUTFChars(jDeviceName, nullptr);
     }
 
     OCDeviceInfo deviceInfo;
@@ -1147,47 +1147,47 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerPlatformInfo0(
 
         if (jPlatformID)
         {
-            platformID = env->GetStringUTFChars(jPlatformID, NULL);
+            platformID = env->GetStringUTFChars(jPlatformID, nullptr);
         }
         if (jManufacturerName)
         {
-            manufacturerName = env->GetStringUTFChars(jManufacturerName, NULL);
+            manufacturerName = env->GetStringUTFChars(jManufacturerName, nullptr);
         }
         if (jManufacturerUrl)
         {
-            manufacturerUrl = env->GetStringUTFChars(jManufacturerUrl, NULL);
+            manufacturerUrl = env->GetStringUTFChars(jManufacturerUrl, nullptr);
         }
         if (jModelNumber)
         {
-            modelNumber = env->GetStringUTFChars(jModelNumber, NULL);
+            modelNumber = env->GetStringUTFChars(jModelNumber, nullptr);
         }
         if (jDateOfManufacture)
         {
-            dateOfManufacture = env->GetStringUTFChars(jDateOfManufacture, NULL);
+            dateOfManufacture = env->GetStringUTFChars(jDateOfManufacture, nullptr);
         }
         if (jPlatformVersion)
         {
-            platformVersion = env->GetStringUTFChars(jPlatformVersion, NULL);
+            platformVersion = env->GetStringUTFChars(jPlatformVersion, nullptr);
         }
         if (jOperatingSystemVersion)
         {
-            operatingSystemVersion = env->GetStringUTFChars(jOperatingSystemVersion, NULL);
+            operatingSystemVersion = env->GetStringUTFChars(jOperatingSystemVersion, nullptr);
         }
         if (jHardwareVersion)
         {
-            hardwareVersion = env->GetStringUTFChars(jHardwareVersion, NULL);
+            hardwareVersion = env->GetStringUTFChars(jHardwareVersion, nullptr);
         }
         if (jFirmwareVersion)
         {
-            firmwareVersion = env->GetStringUTFChars(jFirmwareVersion, NULL);
+            firmwareVersion = env->GetStringUTFChars(jFirmwareVersion, nullptr);
         }
         if (jSupportUrl)
         {
-            supportUrl = env->GetStringUTFChars(jSupportUrl, NULL);
+            supportUrl = env->GetStringUTFChars(jSupportUrl, nullptr);
         }
         if (jSystemTime)
         {
-            systemTime = env->GetStringUTFChars(jSystemTime, NULL);
+            systemTime = env->GetStringUTFChars(jSystemTime, nullptr);
         }
 
         OCPlatformInfo platformInfo;
@@ -1545,7 +1545,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindTypeToResource0(
     std::string typeName;
     if (jResourceTypeName)
     {
-        typeName = env->GetStringUTFChars(jResourceTypeName, NULL);
+        typeName = env->GetStringUTFChars(jResourceTypeName, nullptr);
     }
 
     JniOcResourceHandle* jniOcResourceHandle =
@@ -1588,7 +1588,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindInterfaceToResource
     std::string interfaceName;
     if (jResourceInterfaceName)
     {
-        interfaceName = env->GetStringUTFChars(jResourceInterfaceName, NULL);
+        interfaceName = env->GetStringUTFChars(jResourceInterfaceName, nullptr);
     }
 
     JniOcResourceHandle* jniOcResourceHandle =
@@ -1685,7 +1685,7 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence0(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     if (!jListener)
     {
@@ -1755,12 +1755,12 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence1(
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     if (!jListener)
     {
@@ -1877,12 +1877,12 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructResourceObj
     std::string host;
     if (jHost)
     {
-        host = env->GetStringUTFChars(jHost, NULL);
+        host = env->GetStringUTFChars(jHost, nullptr);
     }
     std::string uri;
     if (jUri)
     {
-        uri = env->GetStringUTFChars(jUri, NULL);
+        uri = env->GetStringUTFChars(jUri, nullptr);
     }
     if (!jResourceTypeArray)
     {
index da4a3cd..5302a76 100644 (file)
@@ -55,7 +55,7 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcRepresentation_getValueN
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return nullptr;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
 
     AttributeValue attrValue;
     if (!rep->getAttributeValue(key.c_str(), attrValue))
@@ -83,7 +83,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueInteger
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string str = env->GetStringUTFChars(jKey, NULL);
+    std::string str = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(str, static_cast<int>(jValue));
 }
 
@@ -104,7 +104,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDouble
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string str = env->GetStringUTFChars(jKey, NULL);
+    std::string str = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(str, static_cast<double>(jValue));
 }
 
@@ -125,7 +125,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBoolean
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string str = env->GetStringUTFChars(jKey, NULL);
+    std::string str = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(str, static_cast<bool>(jValue));
 }
 
@@ -146,8 +146,8 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueStringN
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
-    std::string value = env->GetStringUTFChars(jValue, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
+    std::string value = env->GetStringUTFChars(jValue, nullptr);
 
     rep->setValue(key, value);
 }
@@ -169,7 +169,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueRepresent
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     OCRepresentation *value = JniOcRepresentation::getOCRepresentationPtr(env, jValue);
     if (!value) return;
 
@@ -192,7 +192,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueIntegerAr
     }
 
     const jsize len = env->GetArrayLength(jValue);
-    jint* ints = env->GetIntArrayElements(jValue, NULL);
+    jint* ints = env->GetIntArrayElements(jValue, nullptr);
 
     std::vector<int> value;
     for (jsize i = 0; i < len; ++i)
@@ -204,7 +204,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueIntegerAr
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -227,7 +227,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueInteger2D
     for (jsize j = 0; j < lenOuter; ++j)
     {
         jintArray jInnerArray = static_cast<jintArray>(env->GetObjectArrayElement(jValue, j));
-        jint* ints = env->GetIntArrayElements(jInnerArray, NULL);
+        jint* ints = env->GetIntArrayElements(jInnerArray, nullptr);
         std::vector<int> innerVector;
         const jsize lenInner = env->GetArrayLength(jInnerArray);
         for (jsize i = 0; i < lenInner; ++i)
@@ -242,7 +242,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueInteger2D
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -270,7 +270,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueInteger3D
         for (jsize j = 0; j < lenMiddle; ++j)
         {
             jintArray jInnerArray = static_cast<jintArray>(env->GetObjectArrayElement(jMiddleArray, j));
-            jint* ints = env->GetIntArrayElements(jInnerArray, NULL);
+            jint* ints = env->GetIntArrayElements(jInnerArray, nullptr);
             std::vector<int> innerVector;
             const jsize lenInner = env->GetArrayLength(jInnerArray);
             for (jsize i = 0; i < lenInner; ++i)
@@ -288,7 +288,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueInteger3D
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -308,7 +308,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDoubleArr
     }
 
     const jsize len = env->GetArrayLength(jValue);
-    jdouble* doubles = env->GetDoubleArrayElements(jValue, NULL);
+    jdouble* doubles = env->GetDoubleArrayElements(jValue, nullptr);
 
     std::vector<double> value;
     for (jsize i = 0; i < len; ++i)
@@ -320,7 +320,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDoubleArr
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -343,7 +343,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDouble2DA
     for (jsize j = 0; j < lenOuter; ++j)
     {
         jdoubleArray jInnerArray = static_cast<jdoubleArray>(env->GetObjectArrayElement(jValue, j));
-        jdouble* doubles = env->GetDoubleArrayElements(jInnerArray, NULL);
+        jdouble* doubles = env->GetDoubleArrayElements(jInnerArray, nullptr);
         std::vector<double> innerVector;
         const jsize lenInner = env->GetArrayLength(jInnerArray);
         for (jsize i = 0; i < lenInner; ++i)
@@ -358,7 +358,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDouble2DA
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -386,7 +386,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDouble3DA
         for (jsize j = 0; j < lenMiddle; ++j)
         {
             jdoubleArray jInnerArray = static_cast<jdoubleArray>(env->GetObjectArrayElement(jMiddleArray, j));
-            jdouble* doubles = env->GetDoubleArrayElements(jInnerArray, NULL);
+            jdouble* doubles = env->GetDoubleArrayElements(jInnerArray, nullptr);
             std::vector<double> innerVector;
             const jsize lenInner = env->GetArrayLength(jInnerArray);
             for (jsize i = 0; i < lenInner; ++i)
@@ -404,7 +404,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueDouble3DA
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -424,7 +424,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBooleanAr
     }
 
     const jsize len = env->GetArrayLength(jValue);
-    jboolean* booleans = env->GetBooleanArrayElements(jValue, NULL);
+    jboolean* booleans = env->GetBooleanArrayElements(jValue, nullptr);
 
     std::vector<bool> value;
     for (jsize i = 0; i < len; ++i)
@@ -436,7 +436,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBooleanAr
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -460,7 +460,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBoolean2D
     {
         jbooleanArray jInnerArray = static_cast<jbooleanArray>(env->GetObjectArrayElement(jValue, j));
         const jsize lenInner = env->GetArrayLength(jInnerArray);
-        jboolean* booleans = env->GetBooleanArrayElements(jInnerArray, NULL);
+        jboolean* booleans = env->GetBooleanArrayElements(jInnerArray, nullptr);
 
         std::vector<bool> innerVector;
         for (jsize i = 0; i < lenInner; ++i)
@@ -475,7 +475,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBoolean2D
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -504,7 +504,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBoolean3D
         {
             jbooleanArray jInnerArray = static_cast<jbooleanArray>(env->GetObjectArrayElement(jMiddleArray, j));
             const jsize lenInner = env->GetArrayLength(jInnerArray);
-            jboolean* booleans = env->GetBooleanArrayElements(jInnerArray, NULL);
+            jboolean* booleans = env->GetBooleanArrayElements(jInnerArray, nullptr);
 
             std::vector<bool> innerVector;
             for (jsize i = 0; i < lenInner; ++i)
@@ -522,7 +522,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueBoolean3D
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -547,7 +547,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueStringArr
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -579,7 +579,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueString2DA
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -619,7 +619,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueString3DA
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -644,7 +644,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueRepresent
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -676,7 +676,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueRepresent
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -716,7 +716,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setValueRepresent
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string key = env->GetStringUTFChars(jKey, NULL);
+    std::string key = env->GetStringUTFChars(jKey, nullptr);
     rep->setValue(key, value);
 }
 
@@ -801,7 +801,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setUri
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    rep->setUri(env->GetStringUTFChars(jUri, NULL));
+    rep->setUri(env->GetStringUTFChars(jUri, nullptr));
 }
 
 JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcRepresentation_hasAttribute
@@ -816,7 +816,7 @@ JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcRepresentation_hasAttribute
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return false;
 
-    std::string str = env->GetStringUTFChars(jstr, NULL);
+    std::string str = env->GetStringUTFChars(jstr, nullptr);
     return rep->hasAttribute(str);
 }
 
@@ -942,7 +942,7 @@ JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcRepresentation_remove
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return false;
 
-    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, NULL);
+    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, nullptr);
     return static_cast<jboolean>(rep->erase(attributeKey));
 }
 
@@ -963,7 +963,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcRepresentation_setNull
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return;
 
-    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, NULL);
+    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, nullptr);
     rep->setNULL(attributeKey);
 }
 
@@ -984,7 +984,7 @@ JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcRepresentation_isNull
     OCRepresentation *rep = JniOcRepresentation::getOCRepresentationPtr(env, thiz);
     if (!rep) return false;
 
-    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, NULL);
+    std::string attributeKey = env->GetStringUTFChars(jAttributeKey, nullptr);
     return static_cast<jboolean>(rep->isNULL(attributeKey));
 }
 
index 6f1e695..2ac86ff 100644 (file)
@@ -118,7 +118,7 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::string>& val) const
     {
         size_t len = val.size();
-        jobjectArray strArr = env->NewObjectArray(len, g_cls_String, NULL);
+        jobjectArray strArr = env->NewObjectArray(len, g_cls_String, nullptr);
         if (!strArr) return nullptr;
         for (size_t i = 0; i < len; ++i)
         {
@@ -132,7 +132,7 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<OC::OCRepresentation>& val) const
     {
         jsize len = static_cast<jsize>(val.size());
-        jobjectArray repArr = env->NewObjectArray(len, g_cls_OcRepresentation, NULL);
+        jobjectArray repArr = env->NewObjectArray(len, g_cls_OcRepresentation, nullptr);
         if (!repArr) return nullptr;
         for (jsize i = 0; i < len; ++i)
         {
@@ -160,7 +160,7 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<int>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_int1DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_int1DArray, nullptr);
         if (!jOuterArr)
         {
             return nullptr;
@@ -182,12 +182,12 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::vector<int>>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_int2DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_int2DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize k = 0; k < lenOuter; ++k)
         {
             jsize lenMiddle = static_cast<jsize>(val[k].size());
-            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_int1DArray, NULL);
+            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_int1DArray, nullptr);
             if (!jMiddleArr) return nullptr;
             for (jsize i = 0; i < lenMiddle; ++i)
             {
@@ -211,7 +211,7 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<double>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_double1DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_double1DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize i = 0; i < lenOuter; ++i)
         {
@@ -231,12 +231,12 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::vector<double>>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_double2DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_double2DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize k = 0; k < lenOuter; ++k)
         {
             jsize lenMiddle = static_cast<jsize>(val[k].size());
-            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_double1DArray, NULL);
+            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_double1DArray, nullptr);
             if (!jMiddleArr) return nullptr;
             for (jsize i = 0; i < lenMiddle; ++i)
             {
@@ -284,12 +284,12 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::vector<bool>>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_boolean2DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_boolean2DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize k = 0; k < lenOuter; ++k)
         {
             jsize lenMiddle = static_cast<jsize>(val[k].size());
-            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_boolean1DArray, NULL);
+            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_boolean1DArray, nullptr);
             if (!jMiddleArr) return nullptr;
             for (jsize i = 0; i < lenMiddle; ++i)
             {
@@ -317,12 +317,12 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::string>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_String1DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_String1DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize i = 0; i < lenOuter; ++i)
         {
             jsize lenInner = static_cast<jsize>(val[i].size());
-            jobjectArray strArr = env->NewObjectArray(lenInner, g_cls_String, NULL);
+            jobjectArray strArr = env->NewObjectArray(lenInner, g_cls_String, nullptr);
             if (!strArr) return nullptr;
             for (jsize j = 0; j < lenInner; ++j)
             {
@@ -341,17 +341,17 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::vector<std::string>>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_String2DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_String2DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize k = 0; k < lenOuter; ++k)
         {
             jsize lenMiddle = static_cast<jsize>(val[k].size());
-            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_String1DArray, NULL);
+            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_String1DArray, nullptr);
             if (!jMiddleArr) return nullptr;
             for (jsize i = 0; i < lenMiddle; ++i)
             {
                 jsize lenInner = static_cast<jsize>(val[k][i].size());
-                jobjectArray strArr = env->NewObjectArray(lenInner, g_cls_String, NULL);
+                jobjectArray strArr = env->NewObjectArray(lenInner, g_cls_String, nullptr);
                 if (!strArr) return nullptr;
                 for (jsize j = 0; j < lenInner; ++j)
                 {
@@ -374,12 +374,12 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<OC::OCRepresentation>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_OcRepresentation1DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_OcRepresentation1DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize i = 0; i < lenOuter; ++i)
         {
             jsize lenInner = static_cast<jsize>(val[i].size());
-            jobjectArray repArr = env->NewObjectArray(lenInner, g_cls_OcRepresentation, NULL);
+            jobjectArray repArr = env->NewObjectArray(lenInner, g_cls_OcRepresentation, nullptr);
             if (!repArr) return nullptr;
             for (jsize j = 0; j < lenInner; ++j)
             {
@@ -405,17 +405,17 @@ struct JObjectConverter : boost::static_visitor < jobject >
     jobject operator()(const std::vector<std::vector<std::vector<OC::OCRepresentation>>>& val) const
     {
         jsize lenOuter = static_cast<jsize>(val.size());
-        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_OcRepresentation2DArray, NULL);
+        jobjectArray jOuterArr = env->NewObjectArray(lenOuter, g_cls_OcRepresentation2DArray, nullptr);
         if (!jOuterArr) return nullptr;
         for (jsize k = 0; k < lenOuter; ++k)
         {
             jsize lenMiddle = static_cast<jsize>(val[k].size());
-            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_OcRepresentation1DArray, NULL);
+            jobjectArray jMiddleArr = env->NewObjectArray(lenMiddle, g_cls_OcRepresentation1DArray, nullptr);
             if (!jMiddleArr) return nullptr;
             for (jsize i = 0; i < lenMiddle; ++i)
             {
                 jsize lenInner = static_cast<jsize>(val[k][i].size());
-                jobjectArray repArr = env->NewObjectArray(lenInner, g_cls_OcRepresentation, NULL);
+                jobjectArray repArr = env->NewObjectArray(lenInner, g_cls_OcRepresentation, nullptr);
                 if (!repArr) return nullptr;
                 for (jsize j = 0; j < lenInner; ++j)
                 {
index d361c81..f8b8977 100644 (file)
@@ -32,12 +32,11 @@ JniOcResource::~JniOcResource()
 {
     LOGD("~JniOcResource()");
 
-    m_sharedResource->cancelObserve();
-    m_sharedResource = NULL;
+    m_sharedResource = nullptr;
 
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     m_onGetManager.removeAllListeners(env);
     m_onPutManager.removeAllListeners(env);
@@ -521,12 +520,12 @@ jobject jQueryParamsMap, jobject jListener)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
     if (!jQueryParamsMap)
     {
@@ -588,12 +587,12 @@ jobject jQueryParamsMap, jobject jListener, jint jQoS)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
     JniOcResource *resource = JniOcResource::getJniOcResourcePtr(env, thiz);
     if (!resource) return;
@@ -747,12 +746,12 @@ jobject jRepresentation, jobject jQueryParamsMap, jobject jListener)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
     if (!jRepresentation)
     {
@@ -829,12 +828,12 @@ jobject jQueryParamsMap, jobject jListener, jint jQoS)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
 
     JniOcResource *resource = JniOcResource::getJniOcResourcePtr(env, thiz);
@@ -1005,12 +1004,12 @@ jobject jRepresentation, jobject jQueryParamsMap, jobject jListener)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
 
     JniOcResource *resource = JniOcResource::getJniOcResourcePtr(env, thiz);
@@ -1073,12 +1072,12 @@ jobject jRepresentation, jobject jQueryParamsMap, jobject jListener, jint jQoS)
     std::string resourceType;
     if (jResourceType)
     {
-        resourceType = env->GetStringUTFChars(jResourceType, NULL);
+        resourceType = env->GetStringUTFChars(jResourceType, nullptr);
     }
     std::string resourceInterface;
     if (jResourceInterface)
     {
-        resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
+        resourceInterface = env->GetStringUTFChars(jResourceInterface, nullptr);
     }
 
     JniOcResource *resource = JniOcResource::getJniOcResourcePtr(env, thiz);
index bb9868c..61086b5 100644 (file)
 #include "OCRepresentation.h"
 #include "JniUtils.h"
 
-JavaVM* g_jvm = NULL;
-
-jclass g_cls_Integer = NULL;
-jclass g_cls_int1DArray = NULL;
-jclass g_cls_int2DArray = NULL;
-jclass g_cls_Double = NULL;
-jclass g_cls_double1DArray = NULL;
-jclass g_cls_double2DArray = NULL;
-jclass g_cls_Boolean = NULL;
-jclass g_cls_boolean1DArray = NULL;
-jclass g_cls_boolean2DArray = NULL;
-jclass g_cls_String = NULL;
-jclass g_cls_String1DArray = NULL;
-jclass g_cls_String2DArray = NULL;
-jclass g_cls_LinkedList = NULL;
-jclass g_cls_Map = NULL;
-jclass g_cls_MapEntry = NULL;
-jclass g_cls_Set = NULL;
-jclass g_cls_Iterator = NULL;
-jclass g_cls_HashMap = NULL;
-jclass g_cls_OcException = NULL;
-jclass g_cls_OcResource = NULL;
-jclass g_cls_OcRepresentation = NULL;
-jclass g_cls_OcRepresentation1DArray = NULL;
-jclass g_cls_OcRepresentation2DArray = NULL;
-jclass g_cls_OcResourceRequest = NULL;
-jclass g_cls_OcResourceResponse = NULL;
-jclass g_cls_OcResourceHandle = NULL;
-jclass g_cls_OcPresenceHandle = NULL;
-jclass g_cls_OcRequestHandle = NULL;
-jclass g_cls_OcPresenceStatus = NULL;
-jclass g_cls_OcHeaderOption = NULL;
-jclass g_cls_ObservationInfo = NULL;
-jclass g_cls_OcResourceIdentifier = NULL;
-
-jmethodID g_mid_Integer_ctor = NULL;
-jmethodID g_mid_Double_ctor = NULL;
-jmethodID g_mid_Boolean_ctor = NULL;
-jmethodID g_mid_LinkedList_ctor = NULL;
-jmethodID g_mid_LinkedList_add_object = NULL;
-jmethodID g_mid_Map_entrySet = NULL;
-jmethodID g_mid_MapEntry_getKey = NULL;
-jmethodID g_mid_MapEntry_getValue = NULL;
-jmethodID g_mid_Set_iterator = NULL;
-jmethodID g_mid_Iterator_hasNext = NULL;
-jmethodID g_mid_Iterator_next = NULL;
-jmethodID g_mid_HashMap_ctor = NULL;
-jmethodID g_mid_HashMap_put = NULL;
-jmethodID g_mid_OcException_ctor = NULL;
-jmethodID g_mid_OcException_setNativeExceptionLocation = NULL;
-jmethodID g_mid_OcResource_ctor = NULL;
-jmethodID g_mid_OcRepresentation_N_ctor = NULL;
-jmethodID g_mid_OcRepresentation_N_ctor_bool = NULL;
-jmethodID g_mid_OcResourceRequest_N_ctor = NULL;
-jmethodID g_mid_OcResourceResponse_N_ctor = NULL;
-jmethodID g_mid_OcResourceHandle_N_ctor = NULL;
-jmethodID g_mid_OcPresenceHandle_N_ctor = NULL;
-jmethodID g_mid_OcRequestHandle_N_ctor = NULL;
-jmethodID g_mid_OcHeaderOption_ctor = NULL;
-jmethodID g_mid_OcHeaderOption_get_id = NULL;
-jmethodID g_mid_OcHeaderOption_get_data = NULL;
-jmethodID g_mid_ObservationInfo_N_ctor = NULL;
-jmethodID g_mid_OcPresenceStatus_get = NULL;
-jmethodID g_mid_OcResourceIdentifier_N_ctor = NULL;
+JavaVM* g_jvm = nullptr;
+
+jclass g_cls_Integer = nullptr;
+jclass g_cls_int1DArray = nullptr;
+jclass g_cls_int2DArray = nullptr;
+jclass g_cls_Double = nullptr;
+jclass g_cls_double1DArray = nullptr;
+jclass g_cls_double2DArray = nullptr;
+jclass g_cls_Boolean = nullptr;
+jclass g_cls_boolean1DArray = nullptr;
+jclass g_cls_boolean2DArray = nullptr;
+jclass g_cls_String = nullptr;
+jclass g_cls_String1DArray = nullptr;
+jclass g_cls_String2DArray = nullptr;
+jclass g_cls_LinkedList = nullptr;
+jclass g_cls_Map = nullptr;
+jclass g_cls_MapEntry = nullptr;
+jclass g_cls_Set = nullptr;
+jclass g_cls_Iterator = nullptr;
+jclass g_cls_HashMap = nullptr;
+jclass g_cls_OcException = nullptr;
+jclass g_cls_OcResource = nullptr;
+jclass g_cls_OcRepresentation = nullptr;
+jclass g_cls_OcRepresentation1DArray = nullptr;
+jclass g_cls_OcRepresentation2DArray = nullptr;
+jclass g_cls_OcResourceRequest = nullptr;
+jclass g_cls_OcResourceResponse = nullptr;
+jclass g_cls_OcResourceHandle = nullptr;
+jclass g_cls_OcPresenceHandle = nullptr;
+jclass g_cls_OcRequestHandle = nullptr;
+jclass g_cls_OcPresenceStatus = nullptr;
+jclass g_cls_OcHeaderOption = nullptr;
+jclass g_cls_ObservationInfo = nullptr;
+jclass g_cls_OcResourceIdentifier = nullptr;
+
+jmethodID g_mid_Integer_ctor = nullptr;
+jmethodID g_mid_Double_ctor = nullptr;
+jmethodID g_mid_Boolean_ctor = nullptr;
+jmethodID g_mid_LinkedList_ctor = nullptr;
+jmethodID g_mid_LinkedList_add_object = nullptr;
+jmethodID g_mid_Map_entrySet = nullptr;
+jmethodID g_mid_MapEntry_getKey = nullptr;
+jmethodID g_mid_MapEntry_getValue = nullptr;
+jmethodID g_mid_Set_iterator = nullptr;
+jmethodID g_mid_Iterator_hasNext = nullptr;
+jmethodID g_mid_Iterator_next = nullptr;
+jmethodID g_mid_HashMap_ctor = nullptr;
+jmethodID g_mid_HashMap_put = nullptr;
+jmethodID g_mid_OcException_ctor = nullptr;
+jmethodID g_mid_OcException_setNativeExceptionLocation = nullptr;
+jmethodID g_mid_OcResource_ctor = nullptr;
+jmethodID g_mid_OcRepresentation_N_ctor = nullptr;
+jmethodID g_mid_OcRepresentation_N_ctor_bool = nullptr;
+jmethodID g_mid_OcResourceRequest_N_ctor = nullptr;
+jmethodID g_mid_OcResourceResponse_N_ctor = nullptr;
+jmethodID g_mid_OcResourceHandle_N_ctor = nullptr;
+jmethodID g_mid_OcPresenceHandle_N_ctor = nullptr;
+jmethodID g_mid_OcRequestHandle_N_ctor = nullptr;
+jmethodID g_mid_OcHeaderOption_ctor = nullptr;
+jmethodID g_mid_OcHeaderOption_get_id = nullptr;
+jmethodID g_mid_OcHeaderOption_get_data = nullptr;
+jmethodID g_mid_ObservationInfo_N_ctor = nullptr;
+jmethodID g_mid_OcPresenceStatus_get = nullptr;
+jmethodID g_mid_OcResourceIdentifier_N_ctor = nullptr;
 
 jobject getOcException(JNIEnv* env, const char* file, const char* functionName,
     const int line, const int code, const char* message)
@@ -408,7 +408,7 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved)
     LOGI("JNI_OnUnload");
     JNIEnv* env;
 
-    if (g_jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)
+    if (vm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)
     {
         LOGE("Failed to get the environment using GetEnv()");
         return;
index f6b1ee0..2731017 100644 (file)
@@ -135,14 +135,14 @@ static void SetHandle(JNIEnv *env, jobject jobj, T *type)
 
 static JNIEnv* GetJNIEnv(jint& ret)
 {
-    JNIEnv *env = NULL;
+    JNIEnv *env = nullptr;
 
     ret = g_jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION);
     switch (ret) {
     case JNI_OK:
         return env;
     case JNI_EDETACHED:
-        if (g_jvm->AttachCurrentThread(&env, NULL) < 0)
+        if (g_jvm->AttachCurrentThread(&env, nullptr) < 0)
         {
             LOGE("Failed to get the environment");
             return nullptr;
index 2a0945a..87ebd71 100644 (file)
@@ -36,7 +36,7 @@ JniOnDeleteListener::~JniOnDeleteListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
 
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
@@ -49,7 +49,7 @@ void JniOnDeleteListener::onDeleteCallback(const HeaderOptions& headerOptions, c
 {
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index 6dcb5a9..28d8e44 100644 (file)
@@ -36,8 +36,11 @@ JniOnDeviceInfoListener::~JniOnDeviceInfoListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
+
         env->DeleteWeakGlobalRef(m_jwListener);
+        m_jwListener = nullptr;
+
         if (JNI_EDETACHED == ret) g_jvm->DetachCurrentThread();
     }
 }
@@ -46,7 +49,7 @@ void JniOnDeviceInfoListener::foundDeviceCallback(const OC::OCRepresentation& oc
 {
     jint ret;
     JNIEnv *env = GetJNIEnv(ret);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index 320fb43..2bc8624 100644 (file)
@@ -32,11 +32,12 @@ JniOnGetListener::JniOnGetListener(JNIEnv *env, jobject jListener, JniOcResource
 
 JniOnGetListener::~JniOnGetListener()
 {
+    LOGD("~JniOnGetListener");
     if (m_jwListener)
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
 
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
@@ -50,7 +51,7 @@ void JniOnGetListener::onGetCallback(const HeaderOptions& headerOptions,
 {
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index 869ab89..0b2c28f 100644 (file)
@@ -36,7 +36,7 @@ JniOnObserveListener::~JniOnObserveListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
 
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
@@ -50,7 +50,7 @@ void JniOnObserveListener::onObserveCallback(const HeaderOptions headerOptions,
 {
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index 27ecf74..03e2ed8 100644 (file)
@@ -36,8 +36,11 @@ JniOnPlatformInfoListener::~JniOnPlatformInfoListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
+
         env->DeleteWeakGlobalRef(m_jwListener);
+        m_jwListener = nullptr;
+
         if (JNI_EDETACHED == ret) g_jvm->DetachCurrentThread();
     }
 }
@@ -46,7 +49,7 @@ void JniOnPlatformInfoListener::foundPlatformCallback(const OC::OCRepresentation
 {
     jint ret;
     JNIEnv *env = GetJNIEnv(ret);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index a6778bc..575748e 100644 (file)
@@ -36,7 +36,7 @@ JniOnPostListener::~JniOnPostListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
 
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
@@ -50,7 +50,7 @@ void JniOnPostListener::onPostCallback(const HeaderOptions& headerOptions,
 {
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index 27fad2f..023c61d 100644 (file)
@@ -36,9 +36,11 @@ JniOnPresenceListener::~JniOnPresenceListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
+
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
+
         if (JNI_EDETACHED == ret) g_jvm->DetachCurrentThread();
     }
 }
@@ -51,7 +53,7 @@ void JniOnPresenceListener::onPresenceCallback(OCStackResult result, const unsig
 
     jint ret;
     JNIEnv *env = GetJNIEnv(ret);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     if (OC_STACK_OK != result && OC_STACK_PRESENCE_STOPPED != result &&
         OC_STACK_PRESENCE_TIMEOUT != result &&  OC_STACK_PRESENCE_DO_NOT_HANDLE != result)
index d1c6529..7f375b9 100644 (file)
@@ -36,7 +36,7 @@ JniOnPutListener::~JniOnPutListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
 
         env->DeleteWeakGlobalRef(m_jwListener);
         m_jwListener = nullptr;
@@ -50,7 +50,7 @@ void JniOnPutListener::onPutCallback(const HeaderOptions& headerOptions,
 {
     jint envRet;
     JNIEnv *env = GetJNIEnv(envRet);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index db20c01..cdc68d3 100644 (file)
@@ -36,8 +36,9 @@ JniOnResourceFoundListener::~JniOnResourceFoundListener()
     {
         jint ret;
         JNIEnv *env = GetJNIEnv(ret);
-        if (NULL == env) return;
+        if (nullptr == env) return;
         env->DeleteWeakGlobalRef(m_jwListener);
+        m_jwListener = nullptr;
         if (JNI_EDETACHED == ret) g_jvm->DetachCurrentThread();
     }
 }
@@ -46,7 +47,7 @@ void JniOnResourceFoundListener::foundResourceCallback(std::shared_ptr<OC::OCRes
 {
     jint ret;
     JNIEnv *env = GetJNIEnv(ret);
-    if (NULL == env) return;
+    if (nullptr == env) return;
 
     jobject jListener = env->NewLocalRef(m_jwListener);
     if (!jListener)
index e26a82c..4e3f276 100644 (file)
@@ -47,7 +47,7 @@ void JniUtils::convertJavaStrArrToStrVector(JNIEnv *env, jobjectArray jStrArr, s
     {
         jstring jStr = (jstring)env->GetObjectArrayElement(jStrArr, i);
         if (!jStr) return;
-        vector.push_back(env->GetStringUTFChars(jStr, NULL));
+        vector.push_back(env->GetStringUTFChars(jStr, nullptr));
         if (env->ExceptionCheck()) return;
         env->DeleteLocalRef(jStr);
     }
@@ -66,7 +66,7 @@ void JniUtils::convertJavaHeaderOptionsArrToVector(JNIEnv *env, jobjectArray jHe
         jstring jData = (jstring)env->CallObjectMethod(header, g_mid_OcHeaderOption_get_data);
         OC::HeaderOption::OCHeaderOption hopt(
             static_cast<int>(jId),
-            env->GetStringUTFChars(jData, NULL));
+            env->GetStringUTFChars(jData, nullptr));
 
         headerOptions.push_back(hopt);
 
@@ -116,8 +116,8 @@ void JniUtils::convertJavaMapToQueryParamsMap(JNIEnv *env, jobject hashMap, OC::
         jstring jValue = (jstring)env->CallObjectMethod(jEntry, g_mid_MapEntry_getValue);
         if (!jValue) return;
 
-        map.insert(std::make_pair(env->GetStringUTFChars(jKey, NULL),
-            env->GetStringUTFChars(jValue, NULL)));
+        map.insert(std::make_pair(env->GetStringUTFChars(jKey, nullptr),
+            env->GetStringUTFChars(jValue, nullptr)));
 
         if (env->ExceptionCheck()) return;
         env->DeleteLocalRef(jEntry);
@@ -168,7 +168,7 @@ jobjectArray JniUtils::convertRepresentationVectorToJavaArray(JNIEnv *env,
     const std::vector<OC::OCRepresentation>& representationVector)
 {
     jsize len = static_cast<jsize>(representationVector.size());
-    jobjectArray repArr = env->NewObjectArray(len, g_cls_OcRepresentation, NULL);
+    jobjectArray repArr = env->NewObjectArray(len, g_cls_OcRepresentation, nullptr);
     if (!repArr) return nullptr;
     for (jsize i = 0; i < len; ++i)
     {