Fix handler setters of RcsResourceObject of resource-encapsulation android api.
authorcoderhyme <jhyo.kim@samsung.com>
Tue, 22 Sep 2015 07:36:48 +0000 (00:36 -0700)
committerHabib Virji <habib.virji@samsung.com>
Fri, 16 Oct 2015 08:26:30 +0000 (08:26 +0000)
Handler setters should accept null to erase one set earlier.
It is to make apis consistent between c++ and android.

Additionally an issue caused by using old exception class name is fixed.

Change-Id: I273755b6d2ab48a489d1829aa932b2f675332db6
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2915
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Hun-je Yeon <hunje.yeon@samsung.com>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/3899
Reviewed-by: Habib Virji <habib.virji@samsung.com>
service/resource-encapsulation/android/service/src/main/jni/JniRcsResourceObject.cpp

index f38d309..4354032 100644 (file)
@@ -540,8 +540,15 @@ Java_org_iotivity_service_server_RcsResourceObject_nativeSetGetRequestHandler
     auto res = getResource(env, obj);
     VERIFY_NO_EXC(env);
 
-    res->setGetRequestHandler(std::bind(onGetRequest, std::placeholders::_1, std::placeholders::_2,
-            JavaGlobalRef{ env, listenerObj }));
+    if (listenerObj)
+    {
+        res->setGetRequestHandler(std::bind(onGetRequest, std::placeholders::_1, std::placeholders::_2,
+                JavaGlobalRef{ env, listenerObj }));
+    }
+    else
+    {
+        res->setGetRequestHandler({ });
+    }
 }
 
 JNIEXPORT void JNICALL
@@ -553,8 +560,15 @@ Java_org_iotivity_service_server_RcsResourceObject_nativeSetSetRequestHandler
     auto res = getResource(env, obj);
     VERIFY_NO_EXC(env);
 
-    res->setSetRequestHandler(std::bind(onSetRequest, std::placeholders::_1, std::placeholders::_2,
-           JavaGlobalRef{ env, listenerObj }));
+    if (listenerObj)
+    {
+        res->setSetRequestHandler(std::bind(onSetRequest, std::placeholders::_1,
+                std::placeholders::_2, JavaGlobalRef{ env, listenerObj }));
+    }
+    else
+    {
+        res->setSetRequestHandler({ });
+    }
 }
 
 JNIEXPORT void JNICALL