Android: Allow "null" entityHandler to be passed to registerResource in order to...
authorCosmin Petrisor <cosmin.petrisor@intel.com>
Wed, 2 Sep 2015 08:19:41 +0000 (11:19 +0300)
committerJon A. Cruz <jonc@osg.samsung.com>
Fri, 4 Sep 2015 18:31:02 +0000 (18:31 +0000)
Change-Id: I0e685311c70a297d76a1a7a908a4470610c47b7f
Signed-off-by: Cosmin Petrisor <cosmin.petrisor@intel.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2346
Reviewed-by: Tim Kourt <tim.a.kourt@intel.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
android/android_api/base/jni/JniOcPlatform.cpp

index 8314e9e..4cb6656 100644 (file)
@@ -1011,17 +1011,17 @@ jobject jListener, jint jResourceProperty)
     {
         resourceInterface = env->GetStringUTFChars(jResourceInterface, NULL);
     }
-    if (!jListener)
+    JniEntityHandler* entityHandler = NULL;
+    EntityHandler handleEntityCallback = NULL;
+    if (jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "entityHandler cannot be null");
-        return nullptr;
+        entityHandler = new JniEntityHandler(env, jListener);
+        handleEntityCallback =
+            [entityHandler](const std::shared_ptr<OCResourceRequest> request) -> OCEntityHandlerResult
+            {
+                return entityHandler->handleEntity(request);
+            };
     }
-    JniEntityHandler* entityHandler = new JniEntityHandler(env, jListener);
-    EntityHandler handleEntityCallback =
-        [entityHandler](const std::shared_ptr<OCResourceRequest> request) -> OCEntityHandlerResult
-        {
-            return entityHandler->handleEntity(request);
-        };
 
     OCResourceHandle resourceHandle;
     try